Effacer les filtres
Effacer les filtres

'sym' returns val = k11

1 vue (au cours des 30 derniers jours)
Justin
Justin le 26 Oct 2022
I am trying to obtain each of the k values in the K_bar matrix but it returns this instead:
val =
k12
A_bar and B_bar are 6x6 and 6x2 matrices respectively, desired_A is a 6x6 matrix
syms k11 k12 k13 k14 k15 k16 k21 k22 k23 k24 k25 k26
K_bar = [k11 k12 k13 k14 k15 k16; k21 k22 k23 k24 k25 k26];
desired_A = [0 1 0 0 0 0;
0 0 1 0 0 0;
0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
P_1(1,1) P_1(2,1) P_1(3,1) P_1(4,1) P_1(5,1) P_1(6,1)];
solve(A_bar-B_bar*K_bar == desired_A)
  2 commentaires
Torsten
Torsten le 26 Oct 2022
We cannot run your code since P_1, A_bar and B_bar are not included.
Specify the variables to be solved for in the solve-command:
solve(A_bar-B_bar*K_bar == desired_A,[....])
Justin
Justin le 26 Oct 2022
Modifié(e) : Justin le 26 Oct 2022
P_1 =
-17.5458
-10.9961
-5.9298
2.4755
0.5145
0.2144
A_bar = [2.27373675443232e-13 1.00000000000006 -2.27373675443232e-13 3.90798504668055e-14 -1.77635683940025e-15 -6.55031584528842e-15
-137.734459766021 -31.4382876387425 90.5288917845223 5.50401138702667 0.233058235255689 -0.0318858055012502
-9.09494701772928e-13 -2.27373675443232e-13 0 1.00000000000009 3.99680288865056e-15 -1.49880108324396e-14
9.09494701772928e-12 1.59161572810262e-12 -7.27595761418343e-12 5.68434188608080e-14 0.999999999999989 -3.66373598126302e-14
4.80213202536106e-10 9.09494701772928e-11 -3.18323145620525e-10 -6.70752342557535e-12 -8.10018718766514e-13 1.00000000000012
20062.3834043088 3782.74771918441 -13184.1581254876 -293.869135173145 -0.661269979650289 0.170971388595087]
B_bar = [0.000523048989000699 -2.71050543121376e-20
-0.000854211683516470 2.71050543121376e-20
0.000569896798913104 2.71050543121376e-20
-0.000851129445196858 -5.42101086242752e-19
0.00186262474795345 0.00842710999609239
0.0139115491920225 0.0325937275319102]
Here are the numbers for A_bar B_bar and P_1.
I tried running this solve(A_bar-B_bar*K_bar == desired_A,[k11 k12 k13 k14 k15 k16 k21 k22 k23 k24 k25 k26]) but it returns a 0 x 1 sym. Does that mean there is no solutions available for this?

Connectez-vous pour commenter.

Réponse acceptée

Torsten
Torsten le 26 Oct 2022
As you can see, there are 36 equations for 12 variables. A solution only exists that approximately satisfies the equations.
syms k11 k12 k13 k14 k15 k16 k21 k22 k23 k24 k25 k26
K_bar = [k11 k12 k13 k14 k15 k16; k21 k22 k23 k24 k25 k26];
P_1 = [-17.5458
-10.9961
-5.9298
2.4755
0.5145
0.2144];
A_bar = [2.27373675443232e-13 1.00000000000006 -2.27373675443232e-13 3.90798504668055e-14 -1.77635683940025e-15 -6.55031584528842e-15
-137.734459766021 -31.4382876387425 90.5288917845223 5.50401138702667 0.233058235255689 -0.0318858055012502
-9.09494701772928e-13 -2.27373675443232e-13 0 1.00000000000009 3.99680288865056e-15 -1.49880108324396e-14
9.09494701772928e-12 1.59161572810262e-12 -7.27595761418343e-12 5.68434188608080e-14 0.999999999999989 -3.66373598126302e-14
4.80213202536106e-10 9.09494701772928e-11 -3.18323145620525e-10 -6.70752342557535e-12 -8.10018718766514e-13 1.00000000000012
20062.3834043088 3782.74771918441 -13184.1581254876 -293.869135173145 -0.661269979650289 0.170971388595087];
B_bar = [0.000523048989000699 -2.71050543121376e-20
-0.000854211683516470 2.71050543121376e-20
0.000569896798913104 2.71050543121376e-20
-0.000851129445196858 -5.42101086242752e-19
0.00186262474795345 0.00842710999609239
0.0139115491920225 0.0325937275319102];
desired_A = [0 1 0 0 0 0;
0 0 1 0 0 0;
0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
P_1(1,1) P_1(2,1) P_1(3,1) P_1(4,1) P_1(5,1) P_1(6,1)];
[A,b] = equationsToMatrix(A_bar-B_bar*K_bar - desired_A==0,[k11 k12 k13 k14 k15 k16 k21 k22 k23 k24 k25 k26]);
A = double(A);
b = double(b);
k = A\b
k = 12×1
1.0e+06 * 1.7565 0.3328 -1.1526 -0.0265 -0.0001 0.0000 -0.1496 -0.0287 0.0981 0.0025
k = k.';
sum((double(A_bar - B_bar*[k(1:6);k(7:12)]-desired_A)).^2,'all')
ans = 1.5036e+07

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by