24小时热门版块排行榜    

查看: 2017  |  回复: 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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 277分求调剂,跨调材料 +3 考研调剂lxh 2026-03-24 3/150 2026-03-24 13:52 by JourneyLucky
[考研] 资源与环境 调剂申请(333分) +6 holy J 2026-03-21 6/300 2026-03-24 09:51 by hengsmith
[考研] 一志愿南航材料专317分求调剂 +4 炸呀炸呀炸薯条 2026-03-23 4/200 2026-03-24 07:32 by wangy0907
[考研] 材料专业求调剂 +11 hanamiko 2026-03-18 11/550 2026-03-23 23:12 by peike
[考研] 0854 考研调剂 招生了!AI 方向 +4 pk3725069 2026-03-19 16/800 2026-03-23 23:09 by 汪!?!
[考研] 一志愿中国石油大学(华东) 本科齐鲁工业大学 +4 石能伟 2026-03-17 4/200 2026-03-23 17:51 by 17862566385
[考研] 上海电力大学材料防护与新材料重点实验室招收调剂研究生(材料、化学、电化学,环境) +3 我爱学电池 2026-03-23 3/150 2026-03-23 17:16 by AZMK
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +5 葵梓卫队 2026-03-18 7/350 2026-03-23 16:26 by lingjue
[考研] 招08考数学 +6 laoshidan 2026-03-20 14/700 2026-03-23 14:37 by 15614359529
[考研] 263求调剂 +6 yqdszhdap- 2026-03-22 9/450 2026-03-23 12:57 by yqdszhdap-
[考研] 生物学调剂 +5 Surekei 2026-03-21 5/250 2026-03-22 14:39 by tcx007
[考研] 286求调剂 +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[考研] 材料学硕301分求调剂 +7 Liyouyumairs 2026-03-21 7/350 2026-03-21 22:31 by peike
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 268求调剂 +9 简单点0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 22 350 本科985求调剂,求老登收留 +3 李轶男003 2026-03-20 3/150 2026-03-21 13:28 by 搏击518
[考研] 085601调剂 358分 +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-18 3/150 2026-03-21 00:46 by JourneyLucky
[考研] 329求调剂 +9 想上学吖吖 2026-03-19 9/450 2026-03-20 22:01 by luoyongfeng
信息提示
请填处理意见