Gain dimension failure ending in error

2 vues (au cours des 30 derniers jours)
Lennart
Lennart le 12 Juin 2024
Modifié(e) : Lennart le 12 Juin 2024
At first, I built the following control circle:
Gain window
As you can see x is a (4,1)-vector and in the picture below you can see G is a (1,4)-Matrix.
Multiplying a K.*u means G.*x means in dimensions: (1,4)*(4,1)=(1,1). But (however) a (4,4)-matrix is the solution, which leads to an error, cos I cant add 4,4 and a scalar. So why is (4,4) the solution or what did I miss in the gain window? (I set element wise multiplication K.*u)
  1 commentaire
Lennart
Lennart le 12 Juin 2024
Modifié(e) : Lennart le 12 Juin 2024
Sorry I got it myself... I have to set Matrix(K*u) in the G window, so (1,4)*(4,1)=(1,1) and it does what it should do.

Connectez-vous pour commenter.

Réponse acceptée

Aquatris
Aquatris le 12 Juin 2024
Modifié(e) : Aquatris le 12 Juin 2024
G gain is set for element wise multiplication instead of matrix multiplication, hence (1,4).*(4,1) = (4,4).
x = ones(4,1);
G = ones(1,4);
size(G.*x) % element wise multiplication
ans = 1x2
4 4
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
size(G*x) % matrix multiplication
ans = 1x2
1 1
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
Set the "Multiplication"drop down menu for the G gain to 'matrix multiplication'.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by