matlab矩阵方程奇异,matlab求解非线性方程组 牛顿迭代发 奇异矩阵

使用牛顿迭代法解决非线性方程组时遇到矩阵奇异问题。程序中定义了函数`fun`来表示方程组,`dfun`计算雅克比矩阵。在`newton`函数中进行迭代求解,但出现矩阵奇异导致无法继续。寻求帮助修改程序以克服奇异矩阵问题。
摘要由CSDN通过智能技术生成

求高手帮忙看看下面的程序怎么改  牛顿迭代法  求解后现实矩阵奇异,跪求高手

————————————————————————————————

%首先建立函数fun

%储存方程组编程如下将fun.m 保存到工作路径中:

function f=fun(x);

%定义非线性方程组如下

%变量x1 x2 x3

%函数f1 f2 f3

syms x1 x2 x3 x4 x5 x6 x7

f1=10*(348.51-269.62)-x1*(275.74-x2);

f2=10*(669.98-348.51)-x1*(x3-275.74);

f3=10*(682.43-669.98)-x1*(418.53-x3);

f4=10*(x4-627.85)-x5*(x6-100.11);

f5=10*(627.85-271.39)-x5*(100.11-x7);

f6=10*(271.39-268.93)-x5*(x7-104.29);

f7=x4-682.43-0.8*(682.43-648.38);

f=[f1 f2 f3 f4 f5 f6 f7];

————————————————————————————————

%建立函数dfun

%用来求方程组的雅克比矩阵将dfun.m保存到工作路径中:

function df=dfun(x);

%用来求解方程组的雅克比矩阵储存在dfun 中

f=fun(x);

df=[diff(f,'x1');diff(f,'x2');diff(f,'x3');diff(f,'x4');diff(f,'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值