C语言编程:牛顿迭代法求方程的根
2*x*x*x-4*x*x+3*x-6=0
人气:145 ℃ 时间:2020-02-06 05:16:12
解答
程序流程分析:
① 赋值x0=1.5,即迭代初值;
② 用初值x0代入方程中计算此时的f(x0)及f’(x0),程序中用变量f描述方程的值,用fd描述方程求导之后的值;
③ 计算增量d=f/fd;
④ 计算下一个x,x=x0-d;
⑤ 把新产生的x替换x0,为下一次迭代做好准备;
⑥ 若d绝对值大于1e-3,则重复②③④⑤步.
源程序代码:
#include
main()
{
float x,x0,d,f,fd;
x0=0;
do {
f=2*x0*x0*x0-4*x0*x0+3*x0-6;
fd=6*x0*x0-8*x0+3;
d=f/fd;
x=x0-d;
x0=x;
}while(fabs(d)>1e-3);
printf("x=%f\n",x);
}
推荐
- C语言编程——内容:用牛顿迭代法求一元三次方程的根.要求:由主函数调用求根子函数,谢谢各位了
- C++程序编程:牛顿迭代法求解方程近似根
- 用牛顿迭代法求方程f(x)=x^6-x-1=0在区间【1,2】内的实根,要求|f(x(k))|
- 用C语言编程求牛顿迭代法求方程f(x)=0的根.(
- C语言编程,用牛顿抚迭代法求方程2X*X*X-4X*X+3X-6=0在1.5附近的根(采用切线逼近法求根)
- 告诉我一下初一下的数学试题我想知道到,非常感谢各位5e
- 已知集合M={(x,y)|x+y=1},映射f:N,在f的作用下点(x,y)的映射为(2的x次方,2的 y次方),N=?
- What are the tigers doing?该怎么回答?
猜你喜欢