Size mismatch when i am using simulink
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Song Lyu
am 17 Jun. 2021
Kommentiert: Song Lyu
am 17 Jun. 2021
Greetings all, i am currently using simulink to do a project, however when i run the model the mismatch error has occured, below is the code an d details of the error:
Size mismatch (size [1 x 1] ~= size [2 x 10]). The size to the left is the size of the left-hand side of the assignment. Function 'MATLAB Function2' (#370.215.216), line 9, column 1: "u"

can anyone help me to fix this problem? many thanks!!!
function u = fcn(x,y,K,P,u, Theta,Pstore)
for i=2:10
h=[x(i-1);1];
K=P*h*inv(h'*P*h+u);
Theta(:,i)=Theta(:,i-1)+K*(y(i)-h'*Theta(:,i-1));
P=(eye(2)-K*h')*P/u;
Pstore(:,i-1)=[P(1,1),P(2,2)];
end
u=Theta;
0 Kommentare
Akzeptierte Antwort
Jonas
am 17 Jun. 2021
You have an input named 'u' and an output named 'u', with different sizes.
On line 9, the compiler thinks you are assigning the [2x10] matrix 'theta' to the [1x1] input 'u'.
Rename the output 'u'.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Array and Matrix Mathematics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!