中易网

求解编程题牛顿迭代

答案:1  悬赏:20  
解决时间 2021-03-14 16:29
编写一个子程序NewTon(float x0,float eps,float x1).它的功能是用牛顿迭代法求
f(x)=x^3-2x^2+4x+1在x=0附近的一个实根。牛顿迭代公式为:
x n+1(为下标)=x n -f(x n)/f'(x n)
迭代收敛判据为:|f(x n+1)|<eps (eps为指定的迭代精度,例如1e-6)。若迭代成功,则返回非零值;否则,返回0.
最佳答案

#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
int n=0;
float x0=0;
float xold,xnew;
float eps=1e-6;
float function(float x);
float d2function(float x);
int NewTon(float x0,float eps,float *x1);

system("cls");

xold=x0;
while (n++<200 && !NewTon(xold,eps,&xnew))
xold=xnew;

printf("x=%f\ty=%f\n",xnew,function(xnew));
getch();
return 0;
}


float function(float x)
{
return x*x*x-2*x*x+4*x+1;
}


float d2function(float x)
{
return 3*x*x-4*x+4;
}

int NewTon(float x0,float eps,float *x1)
{
*x1=x0-function(x0)/d2function(x0);
if (fabs(function(*x1))<eps)
return 1;
else
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
请介绍几首西藏风格的歌曲
如果A和B都是质数,A+B=20,那么A和B可能是(
惠丽日化我想知道这个在什么地方
活塞上的T形槽有什么作用?
百大连锁超市运河店地址在什么地方,想过去办
三星cdma1x是怎么解内制密码就是按联系人键叫
CA是什么意思
为什么我的iPhone充电时回程序错乱?
浮点数为什么要用移码,而不用补码
用暴风影音看电影时均衡器如何设置音效更好
来实购生活超市地址在哪,我要去那里办事
人的生命是从什么时候开始的
黄宇骁这个名字可以给我评价一下吗
王者荣耀s7花木兰怎么操作
有谁知道北京西三环的房价呢?比较靠谱的啊!
推荐资讯
共青三子特色小吃地址在什么地方,想过去办事
白酒中喝起来很柔和,水味比较重怎么办
请问,CoolRich是什么包包?
上海仙视电子有限公司是做什么的?
arm in arm 和hand in hand 有什么区别??
我的近视左眼400度,散光150.右眼350,散光100.
请问下DNF上面有什么辅助软件可以改时装。谢
伍玥便利(世纪嘉园店)在什么地方啊,我要过去
葛兰素史克的辅舒酮怎么样?
查询我的科目一分数
金山毒霸能和卡巴斯基同时使用吗?
神鬼传奇刺客装备请教
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?