24小时热门版块排行榜    

查看: 2001  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xiao__guan

新虫 (初入文坛)

[求助] matlab 求解非线性方程组未果

非软件专业,只想求一个非线性方程组的解,就显示错误,求指导~.....

程序如下
function m=slag(n)
x1=n(1);
x2=n(2);
x3=n(3);
x4=n(4);
x5=n(5);
x6=n(6);
x7=n(7);
x8=n(8);
x9=n(9);
x10=n(10);
x11=n(11);
x12=n(12);
x13=n(13);
x14=n(14);
x15=n(15);
x16=n(16);
x17=n(17);
x18=n(18);
x19=n(19);
m(1)=exp((13836+25.44*1863)/8.314*1863)*x1^3*x2-x5;
m(2)=exp((35288+204.59*1863)/8.314*1863)*x1^12*x2^7-x6;
m(3)=exp((18946+25.44*1863)/8.314*1863)*x1*x2-x7;
m(4)=exp((18566+23.68*1863)/8.314*1863)*x1*x2^2-x8;
m(5)=x9*0;
m(6)=exp((107800+13.44*1863)/8.314*1863)*x1^3*x3^2-x10;
m(7)=exp((122731+8.85*1863)/8.314*1863)*x1^2*x3-x11;
m(8)=exp((302587+66.24*1863)/8.314*1863)*x1^3*x3^2-x12;
m(9)=exp((86231+0.995*1863)/8.314*1863)*x1*x3-x13;
m(10)=exp((19512+28.19*1863)/8.314*1863)*x2^3*x3^2-x14;
m(11)=exp((354932-417.63*1863)/8.314*1863)*x1^2*x2*x3-x15;
m(12)=exp((1252543-277.06*1863)/8.314*1863)*x1*x2*x3^3-x16;
m(13)=exp((203172+21.38*1863)/8.314*1863)*x1^3*x4^2-x17;
m(14)=exp((75158+21.38*1863)/8.314*1863)*x1*x4-x18;
m(15)=exp((313417-282.66*1863)/8.314*1863)*x1*x2*x3-x19;
m(16)=(0.5*x1+3*x5+12*x6+x7+x8+x9+3*x10+2*x11+3*x12+x13+2*x15+x16+3*x17+x18+x19)-0.25;
m(17)=(x2+x5+7*x6+x7+2*x8+6*x9+3*x14+x15+x16)-0.25;
m(18)=(x3+x10+x11+2*x12+x13+2*x14+x15+2*x16+x19)-0.25;
m(19)=(x4+2*x17+x18+x19)-0.25;
end


x=fsolve(@slag,[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5],optimset('display','off'))


Error using trustnleqn (line 28)
Objective function is returning undefined values at initial point. FSOLVE cannot continue.

Error in fsolve (line 376)
    [x,FVAL,JACOB,EXITFLAG,OUTPUT,msgData]=...
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
4楼: Originally posted by xiao__guan at 2013-07-03 15:46:50
还有就是,能不能把方程中的1863 改为一个可以设定的变量值, 否则每次计算都要把所有的1863更改掉,太麻烦了...

新建一个m文件,把以下程序全部复制进去,运行即可。
至于你说赋值1863的问题,一种解决办法就是定义一个全局变量k,对k赋值即可,以下的程序就才用这个办法;更简洁一些的话,直接把k=1863写到“function m=slag(n)”的下面。


function solnol
clear all;clc
global k
k=1863;
x0=[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5];
x=fsolve(@slag,x0,optimset('display','off'))

function m=slag(n)
global k
x1=n(1);
x2=n(2);
x3=n(3);
x4=n(4);
x5=n(5);
x6=n(6);
x7=n(7);
x8=n(8);
x9=n(9);
x10=n(10);
x11=n(11);
x12=n(12);
x13=n(13);
x14=n(14);
x15=n(15);
x16=n(16);
x17=n(17);
x18=n(18);
x19=n(19);
m(1)=exp((13836+25.44*k)/8.314*1863)*x1^3*x2-x5;
m(2)=exp((35288+204.59*k)/8.314*1863)*x1^12*x2^7-x6;
m(3)=exp((18946+25.44*k)/8.314*1863)*x1*x2-x7;
m(4)=exp((18566+23.68*k)/8.314*1863)*x1*x2^2-x8;
m(5)=x9*0;
m(6)=exp((107800+13.44*k)/8.314*k)*x1^3*x3^2-x10;
m(7)=exp((122731+8.85*k)/8.314*k)*x1^2*x3-x11;
m(8)=exp((302587+66.24*k)/8.314*k)*x1^3*x3^2-x12;
m(9)=exp((86231+0.995*k)/8.314*k)*x1*x3-x13;
m(10)=exp((19512+28.19*k)/8.314*k)*x2^3*x3^2-x14;
m(11)=exp((354932-417.63*k)/8.314*k)*x1^2*x2*x3-x15;
m(12)=exp((1252543-277.06*k)/8.314*k)*x1*x2*x3^3-x16;
m(13)=exp((203172+21.38*k)/8.314*k)*x1^3*x4^2-x17;
m(14)=exp((75158+21.38*k)/8.314*k)*x1*x4-x18;
m(15)=exp((313417-282.66*k)/8.314*k)*x1*x2*x3-x19;
m(16)=(0.5*x1+3*x5+12*x6+x7+x8+x9+3*x10+2*x11+3*x12+x13+2*x15+x16+3*x17+x18+x19)-0.25;
m(17)=(x2+x5+7*x6+x7+2*x8+6*x9+3*x14+x15+x16)-0.25;
m(18)=(x3+x10+x11+2*x12+x13+2*x14+x15+2*x16+x19)-0.25;
m(19)=(x4+2*x17+x18+x19)-0.25;
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
5楼2013-07-03 16:49:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
xiao__guan: 金币+3, ★★★很有帮助, 非常感谢 2013-07-05 09:33:14
程序中,end是多余的。修改后如下,可运行,不过结果不好,也许和初值有关。以下程序复制进一个m文件中运行即可。

function solnol
clear all;clc
x0=[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.0,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5];
x=fsolve(@slag,x0,optimset('display','off'))

function m=slag(n)
x1=n(1);
x2=n(2);
x3=n(3);
x4=n(4);
x5=n(5);
x6=n(6);
x7=n(7);
x8=n(8);
x9=n(9);
x10=n(10);
x11=n(11);
x12=n(12);
x13=n(13);
x14=n(14);
x15=n(15);
x16=n(16);
x17=n(17);
x18=n(18);
x19=n(19);
m(1)=exp((13836+25.44*1863)/8.314*1863)*x1^3*x2-x5;
m(2)=exp((35288+204.59*1863)/8.314*1863)*x1^12*x2^7-x6;
m(3)=exp((18946+25.44*1863)/8.314*1863)*x1*x2-x7;
m(4)=exp((18566+23.68*1863)/8.314*1863)*x1*x2^2-x8;
m(5)=x9*0;
m(6)=exp((107800+13.44*1863)/8.314*1863)*x1^3*x3^2-x10;
m(7)=exp((122731+8.85*1863)/8.314*1863)*x1^2*x3-x11;
m(8)=exp((302587+66.24*1863)/8.314*1863)*x1^3*x3^2-x12;
m(9)=exp((86231+0.995*1863)/8.314*1863)*x1*x3-x13;
m(10)=exp((19512+28.19*1863)/8.314*1863)*x2^3*x3^2-x14;
m(11)=exp((354932-417.63*1863)/8.314*1863)*x1^2*x2*x3-x15;
m(12)=exp((1252543-277.06*1863)/8.314*1863)*x1*x2*x3^3-x16;
m(13)=exp((203172+21.38*1863)/8.314*1863)*x1^3*x4^2-x17;
m(14)=exp((75158+21.38*1863)/8.314*1863)*x1*x4-x18;
m(15)=exp((313417-282.66*1863)/8.314*1863)*x1*x2*x3-x19;
m(16)=(0.5*x1+3*x5+12*x6+x7+x8+x9+3*x10+2*x11+3*x12+x13+2*x15+x16+3*x17+x18+x19)-0.25;
m(17)=(x2+x5+7*x6+x7+2*x8+6*x9+3*x14+x15+x16)-0.25;
m(18)=(x3+x10+x11+2*x12+x13+2*x14+x15+2*x16+x19)-0.25;
m(19)=(x4+2*x17+x18+x19)-0.25;
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-07-03 11:32:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-07-03 11:32:44
程序中,end是多余的。修改后如下,可运行,不过结果不好,也许和初值有关。以下程序复制进一个m文件中运行即可。

function solnol
clear all;clc
x0=;
x=fsolve(@slag,x0,optimset('display','off'))

fun ...

怎么用M文件运行...... 我纯新手............
3楼2013-07-03 15:44:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

还有就是,能不能把方程中的1863 改为一个可以设定的变量值, 否则每次计算都要把所有的1863更改掉,太麻烦了...
4楼2013-07-03 15:46:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 调剂 +5 13853210211 2026-03-02 6/300 2026-03-02 22:10 by 无际的草原
[考研] 求调剂 +11 yunziaaaaa 2026-03-01 13/650 2026-03-02 21:59 by sunny81
[考研] 0856材料与化工,270求调剂 +11 YXCT 2026-03-01 13/650 2026-03-02 21:38 by sunny81
[基金申请] 成果系统访问量大,请15分钟后再尝试。由此给您造成的不便,敬请谅解。 +6 xhuama 2026-03-02 7/350 2026-03-02 21:23 by kingkocxr
[考研] 289求调剂 +3 BrightLL 2026-03-02 4/200 2026-03-02 21:17 by BrightLL
[考研] 接收调剂 +6 津萌津萌 2026-03-02 14/700 2026-03-02 20:59 by 汪!?!
[考研] 理学,工学,农学调剂,少走弯路,这里欢迎您! +5 likeihood 2026-03-02 8/400 2026-03-02 20:39 by ji493940045
[考研] 285求调剂 +9 满头大汗的学生 2026-02-28 9/450 2026-03-02 20:29 by hypershenger
[考研] 0856化工专硕求调剂 +15 董boxing 2026-03-01 15/750 2026-03-02 15:06 by 晃晃不许晃
[考研] 江苏省农科院招调剂1名 +4 Qwertyuop 2026-03-01 4/200 2026-03-02 14:27 by 升格阿达
[考研] 材料与化工328求调剂 +3 。,。,。,。i 2026-03-02 3/150 2026-03-02 13:09 by houyaoxu
[考研] 265分求调剂不调专业和学校有行学上就 +6 礼堂丁真258 2026-02-28 9/450 2026-03-02 12:04 by 52hz~~
[考研] 调剂 +3 13853210211 2026-03-02 4/200 2026-03-02 10:16 by 13853210211
[考研] 322求调剂 +3 熊境喆 2026-03-01 3/150 2026-03-02 08:44 by houyaoxu
[考研] 299求调剂 +3 Y墨明棋妙Y 2026-02-28 5/250 2026-03-01 21:01 by tangxiaotian
[考研] 一志愿中南大学理学化学 +4 15779376950 2026-03-01 5/250 2026-03-01 19:00 by Fff-1
[考研] 291分工科求调剂 +9 science饿饿 2026-03-01 10/500 2026-03-01 18:55 by 18137688336
[考研] 311求调剂 +6 亭亭亭01 2026-03-01 6/300 2026-03-01 15:41 by 324616
[考研] 295复试调剂 +3 简木ChuFront 2026-03-01 3/150 2026-03-01 14:27 by zzxw520th
[论文投稿] Optics letters投稿被拒求助 30+3 luckyry 2026-02-26 4/200 2026-03-01 09:06 by babero
信息提示
请填处理意见