作者Raymond0710 (雷門)
看板MATLAB
標題Re: [討論]解方程式SOLVE
時間Wed Nov 30 13:33:34 2011
※ 引述《marco110232 (我要戒煙!!!)》之銘言:
: 問題如下
: 我想解一組方程式
: syms T1 M0
: [M0,T1]=solve('M0*(1-2*exp(-2600/T1)+exp(-3000/T1)*exp(137.6/T1))=873'
: ,'M0*(1-2*exp(-1600/T1)+exp(-3000/T1)*exp(137.6/T1))=555');
: 解出來的值卻是有兩種情況
: 一個是M0=0
: T1=T1
: 另外一個狀況是
: Unable to find closed form solution.
: 想請教我的程式有打錯嗎??
: 還是有高手可以推薦更好的解方程式的指令呢?
: 謝謝指教....感激不盡!!
我想你solve用錯方法了 正確方法我寫在下面
syms T1 M0
eq1 = M0*(1-2*exp(-2600/T1)+exp(-3000/T1)*exp(137.6/T1))-873;
eq2= M0*(1-2*exp(-1600/T1)+exp(-3000/T1)*exp(137.6/T1))-555;
sol = solve(eq1,eq2,T1,M0); % 解出來的sol是結構型態 包含了M0 T1
M = sol.M0;
T = sol.T1;
% M T 就是你的答案
subs(eq1,{M0,T1},{M,T}) % 帶回去驗證答案
subs(eq2,{M0,T1},{M,T}) % 帶回去驗證答案
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.194.72
1F:推 marco110232:高手...感謝!!!真是跪拜...謝謝 11/30 14:32
2F:推 marco110232:可是我剛剛跑了好久還是跑不出答案....因為跑出來的 11/30 14:47
3F:→ marco110232:的值應該回M0=1030,T1=1266(計算機算的) 11/30 14:47
4F:推 marco110232:銋窸o個方法我之前有寫過....但就是因為跑不出答案 11/30 14:53
5F:→ marco110232:這個方法我之前有試過...但就是跑了一整晚還是跑不出 11/30 14:54
6F:→ marco110232:附註一點我用的是I7....所以應該不可能是設備有問題!! 11/30 14:55
7F:推 marco110232:我用2008版本跑不出來.2010就跑出來了!!不過還是謝謝! 11/30 15:26
8F:→ Raymond0710:會跑有點久 11/30 18:19