24小时热门版块排行榜    

查看: 2324  |  回复: 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的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +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的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
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的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by xiao__guan at 2013-07-03 15:44:41
怎么用M文件运行...... 我纯新手...............

运行m文件,点击一个绿色的三角形,或者快捷键F5
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2013-07-03 16:50:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 月只蓝 at 2013-07-03 16:50:46
运行m文件,点击一个绿色的三角形,或者快捷键F5...

按完只有 叮的一声提示音 但没有结果 也没弹出任何窗口
7楼2013-07-03 18:42:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 月只蓝 at 2013-07-03 16:50:46
运行m文件,点击一个绿色的三角形,或者快捷键F5...

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]=...

Error in soln (line 6)
x=fsolve(@slag,x0,optimset('display','off'));

............
8楼2013-07-04 09:51:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
8楼: Originally posted by xiao__guan at 2013-07-04 09:51:25
Error using trustnleqn (line 28)
Objective function is returning undefined values at initial point. FSOLVE cannot continue.

Error in fsolve (line 376)
    =...

Error in soln (line 6)
x=fsol ...

我把我贴出来的程序运行了一次,没有出现你说的问题,程序可以运行,只是解有问题,这应该和方程本身、初值条件有关。
matlab 求解非线性方程组未果
附图33.jpg

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
9楼2013-07-04 13:56:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
9楼: Originally posted by 月只蓝 at 2013-07-04 13:56:34
我把我贴出来的程序运行了一次,没有出现你说的问题,程序可以运行,只是解有问题,这应该和方程本身、初值条件有关。

附图33.jpg
...

有没有可能是版本问题,我的是2013的
10楼2013-07-04 15:08:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiao__guan 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 jRl3mE6ddZGq 2026-08-03 9/450 2026-08-04 07:46 by k7OM8YghWbkC
[找工作] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 9/450 2026-08-04 07:37 by k7OM8YghWbkC
[教师之家] 基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊 +9 锦衣卫寒战 2026-07-28 13/650 2026-08-04 07:21 by Ermito
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 cu9Nq1xK233Z 2026-08-03 6/300 2026-08-04 06:10 by k7OM8YghWbkC
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 jRl3mE6ddZGq 2026-08-03 4/200 2026-08-04 04:54 by k7OM8YghWbkC
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 jRl3mE6ddZGq 2026-08-03 6/300 2026-08-04 04:47 by k7OM8YghWbkC
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 7/350 2026-08-04 04:46 by k7OM8YghWbkC
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 04:46 by k7OM8YghWbkC
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 9/450 2026-08-04 03:56 by kf2781974
[考研] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 cu9Nq1xK233Z 2026-08-03 8/400 2026-08-04 03:21 by k7OM8YghWbkC
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
[高分子] UV压敏胶开发 +3 ichall 2026-07-30 5/250 2026-08-03 14:40 by Sunrisepay
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 16/800 2026-08-03 12:23 by fuweiguochen
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +19 低垂的野花 2026-07-31 25/1250 2026-08-03 09:25 by gy116024
[基金申请] 2026年国自然面上资助率 +16 布布和一二 2026-07-30 22/1100 2026-08-03 09:20 by gy116024
[基金申请] 微信指数没变化,科研之友没阅读 +15 wangze12014 2026-07-28 19/950 2026-08-02 20:05 by 蔡棒棒菂
[考博] 2027年申博 50+3 射雕英雄胜 2026-07-30 3/150 2026-08-02 09:36 by lfy8008
[高分子] HXDI做水性聚氨酯乳液,是不是特别容易出渣 15+3 yuyusuv 2026-07-29 3/150 2026-07-31 09:21 by huizingga
[基金申请] 系统今天又提示维护了,估计离放榜不远了 +11 winnerche 2026-07-29 15/750 2026-07-30 23:08 by jnhyjjm
[基金申请] 你们的时间戳变了吗 +3 archvillain 2026-07-30 4/200 2026-07-30 18:53 by levinzhwen
信息提示
请填处理意见