24小时热门版块排行榜    

查看: 1366  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wanyshenger

金虫 (正式写手)

[求助] 请教大神:matlab怎么求解有符号变量的方程组已有2人参与

MATLAB刚刚入门,不太会用,老板让我计算绝热火焰温度,现在遇到的问题是燃烧生成的CO2,H2O会分解,但化学平衡的方程组不会解,简单来说就是方程组里有符号变量如何求解
例如:
x*[c+0.5*(x+y)]^0.5/(a-x)=K1;
y*[c+0.5*(x+y)]^0.5/(b-y)=K2;
其中a,b,c,K1,K2 均为过程中赋值的变量,求解x,y,请问这种情况应该如何用MATLAB求解。请各位大神不吝指教,感谢感谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

USAwaitforme
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wanyshenger

金虫 (正式写手)

引用回帖:
5楼: Originally posted by 断剑残雪 at 2015-07-30 08:34:25
最终版:
syms z a b c  K1 K2 x y;
a=1 ;b=1 ;c=1  ;K1=1 ;K2=1; %比如已知它们的值,要求x,y。那么把前面的注释去掉再运行即可,它们的值也可以自己设定。
=solve(x*sqrt(c+0.5*(x+y))/(a-x)==K1 , y*sqrt(c ...

谢谢你的帮忙,还想请问一下,如果我这个方程更加复杂,比如
x*[c+0.5*(x+y)]^0.5/(a-x)/(a+b+c+0.5*(x+y))^0.5=K1;
y*[c+0.5*(x+y)]^0.5/(b-y)/(a+b+c+0.5*(x+y))^0.5=K2;
这样的话也可以这样做吗?这样会不会效率不高呀,因为我还有循环(每一步循环中a b c K1 K2会变),这样会不会计算很慢呀,谢谢
USAwaitforme
8楼2015-07-30 13:00:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

断剑残雪

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
syms x y a b c K1 K2;  %定义变量
[x,y]=solve(x*sqrt(c+0.5*(x+y))/(a-x)==K1 , y*sqrt(c+0.5*(x+y))/(b-y)==K2,x,y) %给定方程组,并返回x,y
静若处子
2楼2015-07-30 08:14:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

断剑残雪

至尊木虫 (职业作家)

【答案】应助回帖

output:

x =

(K1*a + K2*b + 2.0*K2*c)/(K1 - 1.0*K2) - (2.0*z1^3)/(K1 - 1.0*K2) + (2.0*c*z1)/(K1 - 1.0*K2) - (2.0*K2*z1^2)/(K1 - 1.0*K2)


y =

(2.0*z1^3)/(K1 - 1.0*K2) + (2.0*K1*z1^2)/(K1 - 1.0*K2) - (2.0*c*z1)/(K1 - 1.0*K2) - (1.0*K1*a + 1.0*K2*b + 2.0*K1*c)/(K1 - 1.0*K2)
静若处子
3楼2015-07-30 08:15:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

断剑残雪

至尊木虫 (职业作家)

【答案】应助回帖

z1 = RootOf(z^4 + z^3*(K1 + K2) - z^2*(c - K1*K2) - z*((K1*a)/2 + (K2*b)/2 + K1*c + K2*c) - K1*K2*c - (K1*K2*b)/2 - (K1*K2*a)/2, z)
静若处子
4楼2015-07-30 08:17:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见