标题:二分法解方程
只看楼主
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
结帖率:94.12%
已结贴  问题点数:5 回复次数:4 
二分法解方程
#include <stdio.h>
#include <stdlib.h>
#include "math.h"
main()
{
   float a=1,b=1.8,c=0.15,d=0.65,m=0.5,n=1.25,f,f1,f2,x;            //a,b,c,d分别是三次方程的系数和常数;   区间是(m,n);
   while(1)
   {
     f1=a*m*m*m+b*m*m+c*m+d;
     f2=a*n*n*n+b*n*n+c*n+d;
     x=(m+n)/2;
     f=a*x*x*x+b*x*x+c*x+d;
     if(f==0)
     {
       printf("%f",x);
       break;
     }
     if(f*f1<0)
     n=x;
     if(f*f2<0)
     m=x;
     if(fabs(n-m)<(1e-6))
     {
       x=(m+n)/2;
       printf("%f",x);
       break;
     }
    }
}
搜索更多相关主题的帖子: 解方程 二分法 
2010-04-16 21:54
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
得分:0 
求救!
2010-04-16 22:17
freegod
Rank: 2
等 级:论坛游民
帖 子:33
专家分:73
注 册:2010-4-12
得分:0 
我把你的程序运行了一下,结果如下:


进入死循环了,你的m值取的不好,我把它改成-2.5之后,结果为
2010-04-17 00:14
寻梦飞翔
Rank: 1
等 级:新手上路
帖 子:76
专家分:9
注 册:2010-3-15
得分:0 
我的程序好像只能输出最后的根
2010-04-17 07:28
freegod
Rank: 2
等 级:论坛游民
帖 子:33
专家分:73
注 册:2010-4-12
得分:5 
回复 4楼 寻梦飞翔
那些输出是我加上去的
2010-04-17 11:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-303304-1-1.html




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

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