24小时热门版块排行榜    

CyRhmU.jpeg
查看: 744  |  回复: 8
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

adjoinff

银虫 (小有名气)

[交流] 【求助】数值分析计算机应用c语言问题

#include  "math.h"
main()
{float  x1,x2,f1,f2;
x1=1.9;
f1=pow(x1,7)-28*pow(x1,4)+14;
f2=7*pow(x1,6)-4*28*pow(x1,3);
x2=x1-f1/f2;
do
  {x1=x2;
   f1=pow(x1,7)-28*pow(x1,4)+14;
   f2=7*pow(x1,6)-4*28*pow(x1,3);
   x2=x1-f1/f2;
  if(f2+1.0=1.0);
{printf("**end**"\n);}
}
while(fabs(x1-x2)>1e-5);
printf("x=%f\n",x2);
}
  

题目是用newton法求方程,x(7)-28*x(4)+14=0
()内为x的指数
在(0.1,1,9)内有近似根,用6次迭代,使误差小于0.00001

我的程序在上面,用TC运行,x1初值为0.1时,输出为
**end**      共30行
x=3.030577

x1初值为1.9时,输出为
**end**      共5行
x=0.845497

与我的设想不同,end为什么会有这么多行,
谁能帮忙改一下,谢谢各位大大

[ Last edited by wuguocheng on 2009-10-11 at 11:51 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yaoyusui

木虫 (正式写手)

那要问计算数学专业的人了
8楼2009-12-01 21:04:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

cxymath

铁杆木虫 (知名作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
要找计算数学方面的人了
2楼2009-10-11 12:29:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

swc0339

捐助贵宾 (小有名气)

天天向上

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
点点风(金币+2,VIP+0):感谢您的积极应助 10-11 21:10
引用回帖:
Originally posted by adjoinff at 2009-10-11 11:34:
#include  "math.h"
main()
{float  x1,x2,f1,f2;
x1=1.9;
f1=pow(x1,7)-28*pow(x1,4)+14;
f2=7*pow(x1,6)-4*28*pow(x1,3);
x2=x1-f1/f2;
do
  {x1=x2;
   f1=pow(x1,7)-28*pow(x1,4)+14;
   ...

if(f2+1.0=1.0);
应该改为
if(f2+1.0==1.0);

你写的是一条赋值语句,所以每次都输出END
锻压青春 焊接理想 处理未来 铸造辉煌
3楼2009-10-11 14:45:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

adjoinff

银虫 (小有名气)

点点风(金币+0,VIP+0):问题解决了么? 10-11 21:10
if(f2+1.0==1.0);
我就是这么写的,上面是少打了一个
4楼2009-10-11 19:39:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见