Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Hi, can you help me!!! I 've got a problem when i went to calculate this matrix:
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
A= [Aa 0;-Af*Ca Af]
With
Aa=[-0.01320 0 0 9.8100 0 0 0 0;-0.08560 -0.9903 -241.7000 0 21.7500 0.9504 18.0800 -0.00073;-0.00017 0.0159 -0.9883 0 -0.4850 -0.0323 -3.3200 -0.10450;0 0 1 0 0 0 0 0;0 0 0 0 0 1 0 0;0.08420 0.8897 -3.0300 0 -164.6000 -4.2050 -28.0500 -0.59690;0 0 0 0 0 0 0 1;-0.02920 -0.1723 -5.0970 0 -2.8540 -0.4456 -430.5000 -2.15500];
Af=diag([-10 -10]);
5 commentaires
Réponses (1)
James Tursa
le 1 Mai 2018
Modifié(e) : James Tursa
le 1 Mai 2018
You need to tell MATLAB how many 0's are being concatenated in the upper right corner. E.g.,
A = [Aa zeros(size(Aa,1),size(Af,2));-Af*Ca Af];
3 commentaires
the cyclist
le 1 Mai 2018
Modifié(e) : the cyclist
le 1 Mai 2018
This code, which is exactly what you posted (with a bit of reformatting), and James' correction, worked for me.
Af=diag([-10 -10]);
Ca=[-0.05540 -0.6511 5.1620 0 112.2000 3.0360 152.9000 1.1390;
-0.00804 -0.0850 0.2943 0 -2.9510 -0.0590 -26.5500 -0.1560];
Aa=[-0.01320 0 0 9.8100 0 0 0 0;
-0.08560 -0.9903 -241.7000 0 21.7500 0.9504 18.0800 -0.00073;
-0.00017 0.0159 -0.9883 0 -0.4850 -0.0323 -3.3200 -0.10450;
0 0 1 0 0 0 0 0;
0 0 0 0 0 1 0 0;
0.08420 0.8897 -3.0300 0 -164.6000 -4.2050 -28.0500 -0.59690;
0 0 0 0 0 0 0 1;
-0.02920 -0.1723 -5.0970 0 -2.8540 -0.4456 -430.5000 -2.15500];
A = [Aa zeros(size(Aa,1),size(Af,2));-Af*Ca Af];
Note that John changed
-Af.*Ca
to
-Af*Ca
to make it a matrix multiplication. Your code, which would do element-by-element multiplication would fail because you cannot do that between a 2x2 and a 2x8. Whether that type of multiplication is what you need is up to you to determine.
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!