牛顿迭代法求解非线性方程组 matlab

用牛顿迭代法或二分法求下面非线性方程组的根
{█(f_1 (x,y)=x+2y-3=0@〖 f〗_2 (x,y)=2x^2+y^2-5=0)┤
解:将f1中x的值代入f2中得,
g(y)=9y2-24y+13=0
g^'(y)=18y-24
则由牛顿迭代法:
设g'(y_(n-1))≠0
有牛顿迭代式yn=yn-1-(g(y_(n-1)))/(g'(y_(n-1))) , (n=1,2,3,…)
因为g(1)g(2)<0
故令初值y0=2,在matlab中计算迭代结果,过程如下
g=inline('9*y^2-24*y+13');
gy=inline('18*y-24 ');
a=2; e=0.0001;n=1;
while abs(y-a)>e
y=a-(g(a)/gy(a));
a= y;n=n+1;
end
a,n
结果是:
a=1.9167
n=2
又令初值y0=1,在matlab中计算迭代结果,过程如下
g=inline('9*y^2-24*y+13');
gy=inline('18*y-24 ');
a=1; e=0.0001;n=1;
while abs(y-a)>e
y=a-(g(a)/gy(a));
a= y;n=n+1;
end
a,n
结果是:
a=0.6667
n=2

想不通哪里错了,答案是错误的,y应该是1.9107和0.7560

第1个回答  2017-10-14
g = inline('9*y^2-24*y+13');
gy = inline('18*y-24 ');

a = 2; 
e1=0.0001;n=1;

y = a-(g(a)/gy(a));
z = abs(y-a);

while z>e1
    y = a-(g(a)/gy(a));
    z = abs(y-a);
    a = y;n=n+1;
end

a,n

本回答被网友采纳

牛顿迭代法—matlab求解单变量非线性方程
牛顿迭代法是一种通过线性化非线性方程逐步逼近解的迭代技术。解决单变量非线性方程[公式]的问题,就像寻找函数曲线与x轴的交点,目标解记作[公式]。核心步骤如下:首先,选定初始估计值[公式],求得函数在该点的导数[公式],然后构造以[公式]为斜率的直线[公式],这条线与x轴的交点即为下一个迭代...

牛顿迭代法—matlab求解单变量非线性方程
牛顿迭代法的核心思想是将非线性方程逐步线性化,每次迭代通过求函数在当前点的导数,构造切线并找到与x轴的交点,作为下一个近似解。迭代公式为[公式]。为了确保收敛性,需满足一定的条件,如函数在根附近连续且单调,且导数不为零。实施牛顿迭代法的步骤包括:设定初始值和迭代精度,计算导数,判断残差...

非线性方程组迭代法的matlab实现详细介绍
function[x0,n]=newton(fx,dfx,x0,tol,N)牛顿迭代法 第一个参数 fx 是关于变量x的所要求的函数表达式.第二个参数 dfx 是fx的一阶导数.x0 是迭代初始值.tol 是迭代误差限.N 最大迭代次数.x=x0;f0=eval(fx);df0=eval(dfx);n=0;disp('[n xn xn+1 delta ]');while n<=N x1=x...

Matlab编程问题:编写牛顿法程序来求解下面的方程组: (x-2)^2+(y-3...
用牛顿迭代法解非线性方程组 F1=(x-2)^2+(y-3+2x)^2-5=0 F2=2(x-3)^2+(y\/3)^2-4=0 F=[F1;F2]=[5*x^2 + 4*x*y - 16*x + y^2 - 6*y + 8 2*x^2 - 12*x + y^2\/9 +14 ]迭代初值设为:X0=[x,y]=[0,0]'X(k+1)=X(k)+delt_X Jaco_F(X(...

跪求用牛顿迭代法解三元三次非线性方程组,急!! 在线等。。。MATLAB求解...
function [r,n]=mulNewton(F,x0,eps)if nargin==2 eps=1.0e-4;end x0 = transpose(x0);Fx = subs(F,findsym(F),x0);var = findsym(F);dF = jacobian(F);dFx = subs(dF,findsym(dF),x0);r=x0-inv(dFx)*Fx;n=1;tol=1;while tol>eps x0=r;Fx = subs(F,findsym(F...

请问怎么用matlab实现牛顿迭代法,有具体的代码吗,谢谢?
牛顿迭代法matlab实现如下:function [x_star,index,it] = Newton(fun,x,ep,it_max)求解非线性方程的牛顿法 第一个分量是函数值,第二个分量是导数值 x为初始点 ep为精度,当 | x(k)-x(k-1) |<ep时,终止计算,缺省值为1e-5 it_max为最大迭代次数,缺省值为100 x_star为当迭代成功时...

跪求用牛顿法求方程近似根 的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...

MATLAB非线性方程求解:二分法、不动点、牛顿法、弦截法
程序实现 将计算过程编入程序,以提高计算效率和精确度。求解结果 输出三次函数图像,直观展示方程的解。结果显示该方程有三个解。分析与比较 对比牛顿法、弦截法、不动点迭代法与二分法的计算结果和过程,发现牛顿法与弦截法的精度最高。从迭代次数与收敛速度的比较,得出二分法速度最慢,但适用范围较...

使用牛顿-雅可比迭代法求解非线性方程组
牛顿-雅可比迭代法,作为非线性问题的强大工具,结合了牛顿法的单方程求解策略和雅可比矩阵处理多变量的特性。该方法通过迭代逼近非线性方程组的根,首先利用泰勒展开的线性近似,然后借助雅可比矩阵刻画多维函数的局部行为。对于由 [公式] 个方程组成的系统,雅可比矩阵是一个 [公式] 矩阵,其元素反映了方程...

牛顿迭代法的基本思想是将非线方程f(x)=0逐步转化为线性议程来求解,对...
functionx=Newton(fname,dfname,x0,e,N)%用途:Newton迭代法解非线性方程f(x)=0%fname和dfname分别表示f(x)及其导函数的M函数句柄或内嵌函数表达式%x0为迭代初值,e为精度(默认值1e-7)%x为返回数值解,并显示计算过程,设置迭代次数上限N以防发散(默认500次)%实例:解方程ln(x+sin(x))...

相似回答