Size mismatch when i am using simulink

33 次查看(过去 30 天)
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;

采纳的回答

Jonas
Jonas 2021-6-17
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'.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by