| 查看: 2011 | 回復(fù): 10 | ||||
xiao__guan新蟲 (初入文壇)
|
[求助]
matlab 求解非線性方程組未果
|
|
非軟件專業(yè),只想求一個(gè)非線性方程組的解,就顯示錯(cuò)誤,求指導(dǎo)~..... 程序如下 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]=... |
主管區(qū)長(zhǎng) (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |
|
程序中,end是多余的。修改后如下,可運(yùn)行,不過結(jié)果不好,也許和初值有關(guān)。以下程序復(fù)制進(jìn)一個(gè)m文件中運(yùn)行即可。 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; |

新蟲 (初入文壇)
新蟲 (初入文壇)
主管區(qū)長(zhǎng) (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |
|
新建一個(gè)m文件,把以下程序全部復(fù)制進(jìn)去,運(yùn)行即可。 至于你說賦值1863的問題,一種解決辦法就是定義一個(gè)全局變量k,對(duì)k賦值即可,以下的程序就才用這個(gè)辦法;更簡(jiǎn)潔一些的話,直接把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; |

主管區(qū)長(zhǎng) (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |

新蟲 (初入文壇)
新蟲 (初入文壇)
主管區(qū)長(zhǎng) (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |

新蟲 (初入文壇)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|