24小时热门版块排行榜    

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

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的回帖
查看全部 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

新虫 (初入文坛)

还有就是,能不能把方程中的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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 明天应该可查了!? +5 chengyan1220 2026-08-23 5/250 2026-08-24 23:28 by 我4大白菜
[基金申请] 没有任何消息-是不是就凉了 +7 图啦图啦 2026-08-24 8/400 2026-08-24 22:00 by maomao_da
[论文投稿] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 0XLacIJUOj8D 2026-08-24 3/150 2026-08-24 21:59 by BZKMTicpDhFj
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 0XLacIJUOj8D 2026-08-24 5/250 2026-08-24 21:51 by BZKMTicpDhFj
[基金申请] 我面上完蛋了 +9 且听虎啸 2026-08-20 10/500 2026-08-24 20:08 by 苦寒来香
[基金申请] 2026国自然函评费到账 +17 羊腰板 2026-08-21 19/950 2026-08-24 16:52 by iaeyuan
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 范进中举一文的中心思想 +6 炎黄贵胄 2026-08-22 7/350 2026-08-24 11:58 by 6543yes
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +4 process2012 2026-08-23 5/250 2026-08-23 19:58 by jurkat.1640
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见