| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1573 人关注过本帖
标题:请教关于二分法解一元四次方程
只看楼主 加入收藏
jackyallen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-12-20
收藏
 问题点数:0 回复次数:2 
请教关于二分法解一元四次方程
小弟是新手,用二分法写了在turbo c下面写了一个小程序,期间也参考了网上搜到的其他人写的代码。
run之后,a,b,c,d,e的值我输入1,2,3,4,-10,那其实这个四次方程的一个解就是x=1。
但程序给出的解是0.779250(正好是我给的二分区间的中值),我不知道问题出在哪里,请大虾指教。

#include <math.h>
double a,b,c,d,e;
double f(double x)/*given a,b,c,d,e, calculate the value of the expression:ax^4+bx^3+cx^2+dx+e*/
{
  double y;
  y=a*pow(x,4)+b*pow(x,3)+c*pow(x,2)+d*x+e;
  return y;
}
main()
{
double x1=0.2343,x2=1.3242,x12;/*define the intervel [x1,x2]*/
printf("input parameters of the equation:\n");
scanf("%lf,%lf,%lf,%lf,%lf",&a,&b,&c,&d,&e);
do
 {
  x12=(x1+x2)/2;
  if(f(x1)*f(x12)<0)
    x2=x12;
  else
    x1=x12;
 }
while (f(x12)>1e-10);
printf("the solution of this equation is:%lf\n",x12);
}
搜索更多相关主题的帖子: 二分法 double pow 大虾 
2007-12-20 15:36
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
while (fabs(f(x12))>1e-10);
这样就可以了!是要求绝对值在这范围!
2007-12-20 17:06
jackyallen
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-12-20
收藏
得分:0 
非常感謝您,搞定了。


原帖由 [bold][underline]無邪的睡脸[/underline][/bold] 于 2007-12-20 17:06 发表 [url=http://bbs.][/url]
while (fabs(f(x12))>1e-10);
这样就可以了!是要求绝对值在这范围!
2007-12-20 17:20
快速回复:请教关于二分法解一元四次方程
数据加载中...
 
   



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

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