2017-10-20 140 views
0

我用已知符号a和b解决未知符号x和y后,在Matlab中使用subs函数。根据a和b求解x和y后,我希望Matlab使用a和b代替x和y。请参见下面的代码:如何通过Matlab代码保留子的新符号值

clc 
clear all 
syms a b real; 
syms x y real; 
eqns = [x + 2*y + 4*b == 5*a; 
     y == 3*b]; 
vars = [x,y]; 
solution = solve(eqns,vars); 
x = subs(x,solution.x) 
y = subs(y,solution.y) 
tst = 5*vars 

此代码的输出是: X = 5 * A - 10 * B

Y = 3 * B

TST = [5 * X,5 * y]

我想根据a和b得到我最后的答案。我假设我用于x和y的底线应该改变它,但它没有。

谢谢!

回答

0

您需要subs后更新您的vars载体:

clc 
clear all 
syms a b real; 
syms x y real; 
eqns = [x + 2*y + 4*b == 5*a; 
     y == 3*b]; 
vars = [x,y]; 
solution = solve(eqns,vars); 
x = subs(x,solution.x) 
y = subs(y,solution.y) 
vars = [x,y]; 
tst = 5*vars 
+0

是的!那是对的!谢谢! – PatStarks

+0

@PatStarks你能标记为已回答吗? – Alex

+0

是的!但是如何? Please advsie – PatStarks