2017-10-20 170 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