声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2277|回复: 2

[编程技巧] [求助]关于非线性代数方程组求解的问题

[复制链接]
发表于 2006-7-24 15:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请各位高手指教!
要解一个非线性的方程组,其中有一个参数变化时解的曲线。
我自己编了一个程序运行时出错,程序如下:
function q=myfun(p,flag,wh)
qa2=p(1);qm2=p(2);
q(1)=-qa2+2.*wh^2/(100.*(.5000-.3183*(2.-2.*qa2)*(1.-.2146*(1.-1.*qm2)^2/qa2^2)/qm2-1.*wh^2)^2+wh^2)^(1/2);
q(2)=-qm2+.1000/(1.+.5000*qa2*(.6366+.3635*(1.-1.*qm2)^2/qa2^2-1.*(1.+qm2)/qa2)/qm2);
% 定义方程组
wh=0.001:0.01:3;
x=[];
for i=1:length(wh)
x=fsolve('myfun',[1,1],[],wh(i));
y(i)=x(1);yy(i)=x(2);
end
plot(wh,y)
%%%%%%解、画图
请高手帮我看一下,谢谢!
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-7-25 12:55 | 显示全部楼层
fsolve('')中是不是不能像解微分方程一样用如下的调用方法:
fsolve('myfun',[1,1],[],wh(i));
到底错在哪里?
发表于 2008-8-10 12:59 | 显示全部楼层

fsolve

使用fsolve函数和求解非线性方程组有以下几种:
1、X=fsolve(fun,x0),x0为初始矩阵求解fun
2、X=fsolve(fun,x0,options),以options为选择参数的输入变量,详细看optimset的帮助信息。
3、X=fsolve(fun,x0,options,P1,P2)将问题定性参数P1,P2等直接赋值给函数fun(X,P1,P2,...)
4、[X,fval]=fsolve(fun,P1,P2,P3....),返回原方程在X处的值。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 07:23 , Processed in 0.052578 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表