用matlab解非线性方程组

    使用matlab的fsolve函数,首先需要写一个m文件来描述非线性方程组,比如

function eq=nxxf(x)

global number;

number=number+1

eq(1) = x(1)*normcdf(x(3),0,1)-80120231*normcdf(x(4),0,1)*exp(-0.02)-595042771.7;

eq(2) = (log(x(1)/80120231)+0.02+0.5*(x(2)^2))/x(2)-x(3);

eq(3) = x(3)-x(2)-x(4);

eq(4) = (normcdf(x(3),0,1)*x(1)*x(2))/595042771.7-0.0475;

其中每个方程都是移项后一边为0后,另外一边的式子。
然后在matlab命令窗口输入
global number;
number=0;
y=fsolve('nxxf',[1,1,1,1])
number
其中fsolve函数第一个参数就是非线性方程组的函数,第二个是初始点,将输出结果和迭代步数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值