Matrix formulation with matrix multiplication and raising to N-power

1 visualización (últimos 30 días)
Hey guys,
I'm currently working on designing an MPC controller manually and for some reason I get an error defining a Matrix of 8x7 dimension such as :
B = [0.005;
0.1] and B_tilda corresponding to the new states with a prediction Horizon of N = 7 is in the screenschot attached. I keep getting this error :
I would really appreciate any help.
  2 comentarios
wissal zaher
wissal zaher el 5 de Jul. de 2022
% B_tilda = [0,B,A*B,A.^2*B,A.^3*B,A.^4*B,A.^5*B,A.^6*B;
% 0,0,B,A*B,A.^2*B,A.^3*B,A.^4*B,A.^5*B;
% 0,0,0,B,A*B,A.^2*B,A.^3*B,A.^4*B;
% 0,0,0,0,B,A*B,A.^2*B,A.^3*B;
% 0,0,0,0,0,B,A*B,A.^2*B;
% 0,0,0,0,0,0,B,A*B;
% 0,0,0,0,0,0,0,B]'

Iniciar sesión para comentar.

Respuesta aceptada

Steven Lord
Steven Lord el 5 de Jul. de 2022
Editada: Steven Lord el 5 de Jul. de 2022
If your B is in fact a 2-by-1 vector:
B = [0.005; 0.1]
B = 2×1
0.0050 0.1000
then you cannot concatenate it horizontally with 0 as they don't have the same number of rows. [SL: removed an accidental repeat of the advice about "same number of rows."] If you defined a variable like this:
Z = zeros(size(B));
then this concatenation would be valid:
M = [B, Z; Z, B]
A = 4×2
0.0050 0 0.1000 0 0 0.0050 0 0.1000

Más respuestas (0)

Categorías

Más información sobre Controller Creation en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by