| 2 | 1/1 | 返回列表 |
| 查看: 1003 | 回復(fù): 1 | ||
[求助]
高等反應(yīng)工程教程例題與習(xí)題 例1-2matlab程序 已有1人參與
|
|
function ChemEqui2 %最小自由能法計(jì)算甲烷水蒸氣轉(zhuǎn)化反應(yīng)的化學(xué)平衡組成 % format long %x(1):CH4物質(zhì)的量;x(2):H2O物質(zhì)的量;x(3):CO物質(zhì)的量;x(4):CO2物質(zhì)的量; %x(5):H2物質(zhì)的量;x(6):拉格朗日乘子1;x(7):拉格朗日乘子2;x(8):拉格朗日乘子3 x0=[0.10,0.7,1.2,0.3,6,5000,1500,180000]; % op=optimset('MaxFunEvals',100000); x=fsolve(@equi2,x0); function f=equi2(x) f1=19.3*1000+8314*log(x(1)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+4*x(7); f2= -192.6*1000+8314*log(x(2)/(x(1)+x(2)+x(3)+x(4)+x(5)))+2*x(7)+x(8); f3=-200.6*1000+8314*log(x(3)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+x(8); f4=-395.9*1000+8314*log(x(4)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+2*x(8); f5=8314*log(x(5)/(x(1)+x(2)+x(3)+x(4)+x(5)))+2*x(7); f6=x(1)+x(3)+x(4)-2; f7=4*x(1)+2*x(2)+2*x(5)-14; f8=x(3)+2*x(4)+x(2)-3; f=[f1,f2,f3,f4,f5,f6,f7,f8]; 按照教程上的算法,運(yùn)行得到如下 fsolve stopped because the relative size of the current step is less than the default value of the step size tolerance squared and the vector of function values is near zero as measured by the default value of the function tolerance. 這個是初始值設(shè)置的問題還是求不出解? |
銅蟲 (初入文壇)
|
我在matlab 2017里運(yùn)行了上述的程序,沒有問題,完全有解,而且求解出來的結(jié)果也合理。有一個警告是因?yàn)樽詈笠徊降牟襟E很小,程序懷疑可能函數(shù)在零點(diǎn)處有突變。不過從最后一步函數(shù)的值來看,最后結(jié)果為[-4.54747350886464e-12 0 0 5.82076609134674e-11 -1.36424205265939e-12 0 0 4.44089209850063e-16],很接近于零。另外求出來的解也有物理意義。 你的matlab是哪個版本?在大概2007版之后,函數(shù)function就可以直接在matlab腳本script文件中定義。而高等反應(yīng)工程中matlab代碼是老版本,所以編寫的代碼都是以大的函數(shù)function寫成的。此時函數(shù)文件既不能調(diào)用workspace里的變量,生成的變量也在函數(shù)返回時自動清除。要查看運(yùn)行解的結(jié)果可以把代碼改成如下(那個書上所有的源碼都可以那么改): %最小自由能法計(jì)算甲烷水蒸氣轉(zhuǎn)化反應(yīng)的化學(xué)平衡組成 % format long %x(1):CH4物質(zhì)的量;x(2):H2O物質(zhì)的量;x(3):CO物質(zhì)的量;x(4):CO2物質(zhì)的量; %x(5):H2物質(zhì)的量;x(6):拉格朗日乘子1;x(7):拉格朗日乘子2;x(8):拉格朗日乘子3 x0=[0.10,0.7,1.2,0.3,6,5000,1500,180000]; % op=optimset('MaxFunEvals',100000); x=fsolve(@equi2,x0); function f=equi2(x) f1=19.3*1000+8314*log(x(1)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+4*x(7); f2= -192.6*1000+8314*log(x(2)/(x(1)+x(2)+x(3)+x(4)+x(5)))+2*x(7)+x(8); f3=-200.6*1000+8314*log(x(3)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+x(8); f4=-395.9*1000+8314*log(x(4)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+2*x(8); f5=8314*log(x(5)/(x(1)+x(2)+x(3)+x(4)+x(5)))+2*x(7); f6=x(1)+x(3)+x(4)-2; f7=4*x(1)+2*x(2)+2*x(5)-14; f8=x(3)+2*x(4)+x(2)-3; f=[f1,f2,f3,f4,f5,f6,f7,f8]; end |
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 0703化學(xué)調(diào)劑 +4 | pupcoco 2026-03-17 | 7/350 |
|
|
[考研] 281求調(diào)劑(0805) +4 | 煙汐憶海 2026-03-16 | 11/550 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +3 | 我愛生物生物愛?/a> 2026-03-17 | 3/150 |
|
|
[教師之家] 焦慮 +8 | 水冰月月野兔 2026-03-13 | 10/500 |
|
|
[考研] 341求調(diào)劑 +5 | 搗蛋豬豬 2026-03-11 | 7/350 |
|
|
[考研] 085600材料與化工求調(diào)劑 +5 | 緒幸與子 2026-03-17 | 5/250 |
|
|
[考研] 26考研求調(diào)劑 +6 | 丶宏Sir 2026-03-13 | 6/300 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +4 | 梨花珞晚風(fēng) 2026-03-17 | 4/200 |
|
|
[考博] 26申博 +4 | 八旬速覽 2026-03-16 | 4/200 |
|
|
[考研] 一志愿南京大學(xué),080500材料科學(xué)與工程,調(diào)劑 +4 | Jy? 2026-03-16 | 4/200 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 283求調(diào)劑 +3 | 聽風(fēng)就是雨; 2026-03-16 | 3/150 |
|
|
[考研] 304求調(diào)劑 +4 | ahbd 2026-03-14 | 4/200 |
|
|
[考研] 331求調(diào)劑(0703有機(jī)化學(xué) +5 | ZY-05 2026-03-13 | 6/300 |
|
|
[考研] 材料與化工085600調(diào)劑求老師收留 +9 | jiaanl 2026-03-11 | 9/450 |
|
|
[考研] 材料工程調(diào)劑 +4 | 咪咪空空 2026-03-11 | 4/200 |
|
|
[考研] 求調(diào)劑 +7 | 18880831720 2026-03-11 | 7/350 |
|
|
[考研] 一志愿211化學(xué)學(xué)碩310分求調(diào)劑 +8 | 努力奮斗112 2026-03-12 | 9/450 |
|
|
[考研] 314求調(diào)劑 +7 | 無懈可擊的巨人 2026-03-12 | 7/350 |
|