MATLAB编写用牛顿法解方程x^3-a=0,导出
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/07 21:46:18
solve('1-Q*M=0','Q=3*x','M=2*x')就可以了
建立.m文件直接运行试过没?
EXTERNALFSX0=1.5EPS=1.0E-06CALLDNEWT(X0,EPS,FS,L)IF(L.NE.0)THENWRITE(*,10)X0ENDIF10FORMAT(1X,'X=',E
m=0;%起始点e=0.00001;%精度h=0.000001;%步长f=inline('1-y-2*sin(y+3)','y');%x=1,c=2,k=3代入具体数值t=0;f0=feval(f,m
原因在这一句:elsefprintf('x0=%fxe=%fk=%d\n',x0,xe,k)其中xe=%f只能输出的精度是0.000000,默认6位仅只小数点后面包含6位.而实际xe=0.000000
x=[3,4,5,6,7,8,9,10];y=[4,5,6,7,8,9,10,11];z=21.89-9.87*x+8.09*y-7.98*x.*y-1.87*x.^2-7.98*y.^2z=1.0e
代码如下:functionrtn=newton1(fx,dfx,x0,tol,N)%NewtonMethod%Thefirstparameterfxisaexternalfunctionwithres
超过计算范围或精度.
你这个出什么问题了?再问:再答:Jacobian这个函数似乎不存在,你有名字为这个的.m文件么??再问:我试了一下,可以查到。你可以运行吗?再答:那就是大小写的问题了,使用jacobian再问:膜拜。
Newton-Raphson求解非线性方程组matlab源程序matlab程序如下:functionhom[P,iter,err]=newton('f','JF',[7.8e-001;4.9e-001
function[A]=cal(a,b,v)%a,b表示区间,v是精度i=1;x=(a+b)/2;A=[ix];t=x-(x^3-x-1)/(3*x^2-1);%迭代函数while(abs(t-x)>
看这个贴吧:超越方程吧http://tieba.baidu.com/f?kz=843796154啊哈,我写的
在matlab中使用fsolve函数就行了再问:不知道具体的该怎么使用呢?是直接fsolve(inline('H'),x0)就可以么?我初学,很多不懂,多谢再答:你可以例如x=fsolve(@(x)s
你是在说符号运算么,亲?再问:恩,其实我感觉应该不太算是符号运算。。。因为整个运算,在源程序中是符号运算,但是因为我是计算的物体有具体的尺寸限制,而且我是需要得到具体的数值的,所以我会另外进行一系列的
用fsolve可解出来:先构造函数:functionoutput=solveproblem(X)c=X(1);m=X(2);y=X(3);output(1)=(1-c)*(1-y)*(1-m)*10.
symsxf=x^x-10;df=diff(f,x);eps=1e-6;x0=10;cnt=0;MAXCNT=200;%最大循环次数whilecnt
定义函数functiony=nd(x)y=0.036-((x/2090.7).^(1/0.1585))-x/182000functiony=nd0(x)y=-(1/0.1585)*(x/2090.7)
y=1./(1+25*x.*x)
functions=NewtonIterate(x,eps)%Newton迭代法求解非线性方程组的解%x为迭代初值,eps为允许误差ifnargin==1eps=1.0e-6;elseifnargin
f15z再问:在?