用数值迭代法解X^3-3X-1=0附近的根
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/22 15:15:53
![用数值迭代法解X^3-3X-1=0附近的根](/uploads/image/f/6278354-26-4.jpg?t=%E7%94%A8%E6%95%B0%E5%80%BC%E8%BF%AD%E4%BB%A3%E6%B3%95%E8%A7%A3X%5E3-3X-1%3D0%E9%99%84%E8%BF%91%E7%9A%84%E6%A0%B9)
symsxx0=2;f=x^3-3*x-1;eps=1e-6;maxcnt=1000;fx=diff(f,x);x1=x0;cnt=1;whilecnt
#include#includeintmain(){doublex0,x=1.5;do{x0=x;x=x0-(2*pow(x0,3)-4*pow(x0,2)+3*x0-6)/(6*pow(x0,2)-
牛顿迭代法要计算(1)y1=f(x)在x的函数值(2)d1=f'(x)在x的值你可以写两个函数,分别计算y1,d1如果一阶导数有解析解,则可用赋值语句,否则要写数值解子程序.步骤:设解的精度,例flo
二分法简单,你就先把(-10,10)分成(-10,0)(0,10),然后分别用x=-10x=0x=10代入,看哪2个接近0,肯定是(0,10),那么再分为(0,5)(5,10),重复上面操作牛顿迭代法
先去看看计算方法学习一下“牛顿迭代法”吧,不然就算懂了这个小程序也意义不大,真的
2x²(x-2)+3(x-2)=0所以x=2
x=x0-(x0.^3+2*x0.^2+10*x0-20)/(3*x0*x0+4*x0+10);最后应该是10,不是x0
#include#includevoidmain(){floatx,x0,f,f1;x0=0.5;do{f=x0*x0*x0-x0*x0-1;f1=3*x0*x0-2*x0;x=x0-f/f1;x0=
源程序如下:clearclcN=100;x=2;forii=0:Nxl=x;num=ii;x=x-(x^3-3*x+1)/(3*x^2-3);ifabs(x-xl)
迭代需要选择好迭代关系式,一般要求迭代收敛,可能你选择的迭代关系式是发散的吧,可以把代码或者程序的完整流程发上来看看
首先整出来牛顿迭代法解方程:2x^3-4x^2+3x-6=0F(x0)=2x^3-4x^2+3x-6F(x0)=6x^2-8x+3....Y=0X=3DoX1=x'Z=((2*X1-4)*X1+3)*
#include#includevoidmain(){doublex0,x,y1,y2;printf("inputx\n");scanf("%lf",&x);do{x0=x;y1=x*(x*(x+2)
#include#includeintmain(){doublex=1,x2;do{x2=x;x-=(2*x*x*x-4*x*x+3*x-6)/(6*x*x-8*x+3);}while(fabs(x-
C++行么?这两天忙考试,过两天可以帮你改成C的,实验报告我也,有电子档的2简单迭代法#include#includeusingnamespacestd;doublef(double);//申明函数i
牛顿迭代法好像不用给区间,只要给个初值就可以了,这种方法会自动找到理你给出的初值最近的根,这个初值应该是可以随便定的
wkihh,.>=-===236544458kjim=+3.14-------------:[325544]
X1=0.219Dox=X1y=x-2*x*x+2*x*x*Exp(-(1/x))-0.219Y1=1-4*x+4*x*Exp(-(1/x))+2*Exp(-(1/x))X1=x-y/Y1LoopWh
迭代公式x(k+1)=x(k)-f'(x(k))/f''(x(k))k=1,2.,直到你要的精度x(1)=1当|x(k+1)-x(k)|