| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1195 人关注过本帖
标题:看下我的错误!
只看楼主 加入收藏
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
结帖率:83.33%
收藏
已结贴  问题点数:6 回复次数:15 
看下我的错误!
求2x^3-4x^2+3x-6=0在1.5附近的根
#include<stdio.h>
#include<math.h>
void main()
{
  double x0,x1,f,d;x1=1.5;
  while(fabs(x1-x0)>1e-5)
      {
         x0=x1;
         f=2*x0*x0*x0-4*x0*x0+3*x0-6;
         d=6*x0*x0-8*x0+3;
         x1=x0-f/d;
       }
   printf("x1=%lf\n",x1)
      
      
}   帮我找下错误嘛  谢谢了


[ 本帖最后由 TERMINATORXQ 于 2009-11-25 22:43 编辑 ]
搜索更多相关主题的帖子: include double 
2009-11-25 22:21
sen_lin
Rank: 6Rank: 6
等 级:侠之大者
威 望:3
帖 子:114
专家分:436
注 册:2009-3-24
收藏
得分:0 
     f=2*x*x*x-4*x*x+3*x-6;
     d=6*x*x-8*x+3;
     问题在这两行,具体的计算怎么能用表达式呢,该把值代入了,应该代入得是x0,你的程序是牛顿迭代法!
2009-11-25 22:33
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
收藏
得分:0 
路过不懂,,学习中
2009-11-25 22:42
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
收藏
得分:0 
回复 2楼 sen_lin
我刚才忘了加上   我的源程序是加上的
2009-11-25 22:45
caojulians
Rank: 2
等 级:论坛游民
帖 子:39
专家分:67
注 册:2009-11-15
收藏
得分:0 
最后一个语句printf()之后少个;
另外void main()应该改为int main(void)。不知LZ用哪套编译系统--不大规范。
2009-11-25 23:04
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
收藏
得分:0 
不是那个问题    ” ;“加了的        我用的是TC2.0
2009-11-29 19:19
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:0 
牛顿迭代法。。。程序是没错的。。结果是2.0代入原式刚刚好。。LZ用的是TC的话。。是不是考虑在最后加个getch();呢??
#include<stdio.h>
#include<math.h>
void main()
{
  double x0,x1,f,d;x1=1.5;
  while(fabs(x1-x0)>1e-5)
      {
         x0=x1;
         f=2*x0*x0*x0-4*x0*x0+3*x0-6;
         d=6*x0*x0-8*x0+3;
         x1=x0-f/d;
       }
   printf("x1=%lf\n",x1)
     getch();  
      
}
2009-11-29 19:27
百合杰
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-9-26
收藏
得分:0 
x0没初始化
2009-11-29 19:45
feetlink
Rank: 1
等 级:新手上路
帖 子:12
专家分:2
注 册:2009-3-7
收藏
得分:0 
以下代码在tc2下可以运行,结果是x1=2.000000
红色为修改部分~


#include<stdio.h>
#include<math.h>
void main()
{
  double x0,x1,f,d;x1=1.5;
  while(fabs(x1-x0)>1e-5)
      {
         x0=x1;
         f=2*x0*x0*x0-4*x0*x0+3*x0-6;
         d=6*x0*x0-8*x0+3;
         x1=x0-f/d;
       }
   printf("x1=%lf\n",x1);
   getchar();
}  
2009-11-29 20:09
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
收藏
得分:0 
是电脑的问题             我试了下加不加 getchar();或getch();都可以   
  
   由于我的分不多了  你能不能帮我用二分法解(-10,10)之间的根   我找了关于二分法的帖子  由于才初学嘛  好多都看不懂   有些符号首先就是问题   
   

                谢谢了! 我马上就接!!!!!!!!!
2009-11-29 22:45
快速回复:看下我的错误!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012650 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved