Using solution from vpasolve and syms for another function

1 次查看(过去 30 天)
A =[ 0 0 0 1.0000 0 0
0 0 0 0 1.0000 0
0 0 0 0 0 1.0000
0 6.5000 -10.0000 -17.5000 0 0
-21.1185 18.1040 5.1540 -3.6920 -2.8128 0.3159
5.0000 -3.6000 0 0 0 -10.9545]
B = [ 0 0
0 0
0 0
26.5000 11.2000
5.5907 -1.6525
40.0000 57.3000]
C = [ 1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0]
syms T1 T2 T3 T4 T5 T6
T = [T1 T2 T3 T4 T5 T6];
d = -5;
G = [10 1 5];
vpasolve([T*A - d*T == G*C])
After solving for the values of T1 to T6, i want to use those values to solve for another equation, but when I input T1,T2... into the other equation, it returns the answer in terms of T1 - T6 instead of actual values
e = T*B
how do i get it to return the actual numbers instead of in terms of T1 etc.?

采纳的回答

KSSV
KSSV 2022-11-2
A =[ 0 0 0 1.0000 0 0
0 0 0 0 1.0000 0
0 0 0 0 0 1.0000
0 6.5000 -10.0000 -17.5000 0 0
-21.1185 18.1040 5.1540 -3.6920 -2.8128 0.3159
5.0000 -3.6000 0 0 0 -10.9545] ;
B = [ 0 0
0 0
0 0
26.5000 11.2000
5.5907 -1.6525
40.0000 57.3000] ;
C = [1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0] ;
syms T1 T2 T3 T4 T5 T6
T = [T1 T2 T3 T4 T5 T6];
d = -5;
G = [10 1 5];
s = vpasolve([T*A - d*T == G*C]) ;
T = [double(s.T1) double(s.T2) double(s.T3) double(s.T4) double(s.T5) double(s.T6)];
e = T*B
e = 1×2
12.7215 13.2144
  2 个评论
Torsten
Torsten 2022-11-2
You don't need symbolic computations.
A =[ 0 0 0 1.0000 0 0
0 0 0 0 1.0000 0
0 0 0 0 0 1.0000
0 6.5000 -10.0000 -17.5000 0 0
-21.1185 18.1040 5.1540 -3.6920 -2.8128 0.3159
5.0000 -3.6000 0 0 0 -10.9545] ;
B = [ 0 0
0 0
0 0
26.5000 11.2000
5.5907 -1.6525
40.0000 57.3000] ;
C = [1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0] ;
d = -5;
G = [10 1 5];
T = ((A.'-d*eye(6))\(G*C).').';
e = T*B
e = 1×2
12.7215 13.2144

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Equation Solving 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by