作者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