采用不同的迭代法,求方程x^3 4x^2-10=0在(1,2)内的近似根
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/04 14:43:57
#include#includeusingnamespacestd;intmain(){doublediedai(doublea,doubleb,doublec,doubled,doublex);
#includefloatsolution(floatx){floatx1,y,k;do{k=6*x*x-8*x+3;y=2*x*x*x-4*x*x+3*x-6;x1=x-y/k;x=x1;}whil
#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)-
f(x)=2x^3-4x^2+3x-6f'(x)=6x^2-8x+3x(n+1)=xn-(2xn^3-4xn^2+3xn-6)/(6xn^2-8xn+3)x1=1.5x2=2.3333x3=2.061
先去看看计算方法学习一下“牛顿迭代法”吧,不然就算懂了这个小程序也意义不大,真的
#includevoidmain(){floats,f0,h,x;intn,i;printf("inputn:");scanf("%d",&n);h=1.0/n;f0=4.0;s=0.0;for(i=
f(x)=x^3+x^2-3x-3f'(x)=3x^2+2x-3x(n+1)=xn-f(xn)/f'(xn)令x1=1.5x2=1.777778x3=1.733361x4=1.732052x5=1.7
迭代公式错了x0=x-feval(fx,x1)/feval(dfx,x1);%matlab算法x0=x1-(2*x1^3-4*x1^2+3*x-6)/(6*x1^2-8*x+3);该题的迭代公式再问:
#include#includedoubleeps=10E-6;doublef(doublek)//原函数方程{returnlog10(k)+k-2.0;}doubleget(doublek){ret
首先整出来牛顿迭代法解方程: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#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-
x^3=x+3x=(x+3)^(1/3)f(x)=x-(x+3)^(1/3)f'(x)=1-1/3*(x+3)^(-2/3)X(n+1)=Xn-f(xn)/f'(xn)x0=0x1=1.7175x2=
y=x^2+10cosxy'=2x-10sinxx(n+1)=(2xn-10sinxn)/(xn^2+10cosxn)y是偶函数,所以两个解是相反数假设x1=2x2=2.2452x3=1.8828x4
C++行么?这两天忙考试,过两天可以帮你改成C的,实验报告我也,有电子档的2简单迭代法#include#includeusingnamespacestd;doublef(double);//申明函数i
x=0:0.01:1;y=1-x-sin(x);plot(x,y,'b');观察初值,大概是在区间[0.40.6]
#include#include#include#defineN100#definePS1e-5//定义精度#defineTA1e-5//定义精度floatNewton(float(*f)(float
你是不复制放这的啊?格式都没看懂
牛顿迭代法的步骤大概是这样的:首先给定一个初始值x0,用它来进行迭代.迭代的方法就是在点(x0,f(x0))处做曲线的切线,与横轴得到一个交点(x1,0),x1就是第一次迭代的结果,也就是方程解的一个
PROGRAMMAINREAD(*,*)XN=110X1=XF=X1**2-4*X1+1F1=2*X1-4X=X1-F/F1WRITE(*,100)N,X1,XN=N+1IF(ABS(X-X1).GT
精度太高了,一般判断精度用|f(x0)-0|小于指定的精度再问:谢谢回答!可是为什么我改动精度值小了之后总是这样,是程序的问题吗?再答:你每个循环输出一次x1和x0看看。在if'前面加!我现在没有C编