c语言 求方程x^3-2x-5=0在区间[1.5,2.5]的实根 麻烦写下程序和关键步骤的说明 谢谢
补充:这个程序的一些步骤没看懂
......
float x,x=2.0,f,f0;
do
{x=x0;
f=x*x*x-2*x-5;
f0=3*x*x-2;(导数这步有什么用)
x0=x-f/f0;(这步没看懂)
}while(fabs(x-x0)>=1e-6);(这又是何意义)
printf(%.2f",x);
......
追问:这样太复杂了 我要的只是c语言写程序的求根恩 很有道理 谢谢了 我现在是大后天要考试省二级了 所以管不了那么多从根本去解决问题了 现在就是看看程序设计题库 大概题型的解题思路 等考完了 再好好学习下c语言 我不是那种对学习采取轻蔑态度的人 非常感谢你!!!
答案:牛顿迭代法是牛顿在17世纪提出的一种求解方程f(x)=0.多数方程不存在求根公式,从而求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。
设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0)+f'(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn+1=Xn-f(Xn)/f'(Xn),称为r的n+1次近似值。上式称为牛顿迭代公式。
用牛顿迭代法求解方程x^3-2x-5=0的实根的过程是:
1.你想在谁附近求解,这个范围或者这个数值大多是题目已经给定了(本例是[1.5,2.5])
2.令f(x)=x*x*x-2*x-5
3.x1=X
4.求f(x1)
5.对f(x)求导,得到f1(x),求f1(x1)
6.调整x,使x=x1-f(x1)/f1(x1)
7.符合条件x-x1>1e-6,转到第3步
8.不符合条件x-x1>1e-6,则x1就是我们要求的实根
其他:我先写完再发
下面的是一元三次方程求实根的方法。
有点累。没细看。有点复杂。
供大家学习下
上一个:【在线等】【迷宫问题】【C语言】【急求】
下一个:C语言怎么写计算器