求助MATLAB大神,用迭代法求解近似根

求方程X=exp(-x)在X0=0.5附近的近似根,要求精确到小数点后四位

牛顿迭代法可以求解方程x=exp(-x)在x0=0.5附近的近似根。求解方法:

1、建立自定义函数的文件,即 y=x-exp(-x)。y=newton_fun(x)

2、建立自定义导函数的文件,即 dy=1+exp(-x)。dy=newton_dfun(x)

3、根据牛顿迭代法原理编写,建立牛顿迭代法函数的文件,即

x = x0 - newton_dfun(x0)\newton_fun(x0);

按照上述方法,编程后运行可以得到

x=0.56714

温馨提示:内容为网友见解,仅供参考
无其他回答

求助MATLAB大神,用迭代法求解近似根
用牛顿迭代法可以求解方程x=exp(-x)在x0=0.5附近的近似根。求解方法:1、建立自定义函数的文件,即 y=x-exp(-x)。y=newton_fun(x)2、建立自定义导函数的文件,即 dy=1+exp(-x)。dy=newton_dfun(x)3、根据牛顿迭代法原理编写,建立牛顿迭代法函数的文件,即 x = x0 - newton_dfun...

matlab用牛顿迭代法求方程xlnx=1的近似根
如何用Newton迭代法求下列方程的近似根:x*ln(x)=1。其求解方法如下:第一步:自定义函数,即 fun=@(x)x*log(x)-1;第二步:自定义导函数,即 dfun=@(x)log(x) + 1;第三步:初定x的初值,即x0=1 第四步:用Newton迭代法函数,求解x值 第五步:用plot函数绘出其函数和方程的根 其...

matlab迭代法求方程的根
1、创建迭代公式,即 x(k+1)=sqrt(10\/x(k)-4*x(k))2、确定初值,x(1)=1.5 3、使用while循环语句,进行迭代 4、当x(k+1)-x(k)<ε=1e-5,则x(k)为方程的根。实现代码:x(1)=1.5 k=1;while k<10000 x(k+1)=sqrt(10\/x(k)-4*x(k));if abs(x(k+1)-x(k))<1...

matlab迭代法求方程的根
f=inline(fun,'x');k=0;f0=feval(f,m);f2=feval(f,m+h);f1=feval(f,m-h);n=m-2*h*f0\/(f2-f1);while abs(1-m\/n)>e

跪求用牛顿法求方程近似根 的Matlab 程序
Newton迭代法求解非线性方程组的解 x为迭代初值,eps为允许误差 if nargin==1 eps=1.0e-6;elseif nargin<1 return end x1=fx1(x); %非线性方程组函数fx1.m x2=-dfx1(x); %非线性方程组的导数函数dfx1.m x0=x2\\x1';while norm(x0)>=eps x=x0'+x;x1=fx1(x);x2=-dfx...

求根的近似值 x^2—13=0。 精确到10^(-5) 用matlab脚本文件编辑程序找...
编写一个用牛顿迭代法求解平方根的m文件:function x=sqrt_newton(a)f=@(x)x^2-a;df=diff(sym('x^2-a'));if a<0 warning('负数没有实平方根');x1=[];elseif a==0;x1=a;else x0=a;x1=x0-f(x0)\/subs(df,x0);while abs(x1-x0)>1e-6 x0=x1;x1=x0-f(x0)\/subs...

请问怎么用matlab编程,使用牛顿迭代法求根号5的立方的近似值???
1.创建一个函数 牛顿法求立方根 function x=cube_newton(a)f=@(x)x^3-a;df=diff(sym('x^3-a'));if a==0;x1=a;else x0=a;x1=x0-f(x0)\/subs(df,x0);while abs(x1-x0)>1e-6 x0=x1;x1=x0-f(x0)\/subs(df,x0);end end x=x1;2.调用求解 >> a=cube_newton(5)...

求牛顿迭代法求方程根的matlab程序?
本文将介绍如何利用MATLAB实现牛顿迭代法求解方程根的程序,并通过实例进行说明。首先,我们以方程f(x,y)= sin(x^2+y^2)*exp(-0.1*(x^2+y^2+x*y+2*x))为例。在-2≤x≤2,-2≤y≤2区间内求其极值点和极值。主程序负责调用牛顿法函数进行计算。运行结果显示了极值点和极值。接着,...

数学实验中用Matlab用迭代法求方程的根: 不知道为什么代码求不出函...
syms x;f=x^3-3228*x+3228*cos(x);df=diff(f,x);e=1e-6;t0=0.7;t=t0;t0=t+2*e;while abs(t0-t)>e t0=t;t=t0-subs(f,x,t0)\/subs(df,x,t0);end double(t0)ans = 0.739159912007417

matlab牛顿迭代法求方程根程序
f,x);eps=1e-6;x0=10;cnt=0;MAXCNT=200; %最大循环次数 while cnt<MAXCNT %防止无限循环 x1=x0-subs(f,x,x0)\/subs(df,x,x0); %去掉这个分号,可以看到迭代过程.if (abs(x1-x0)<eps)break;end x0=x1;cnt=cnt+1;end if cnt==MAXCNT disp '不收敛'else vpa(x1,8)end ...

相似回答