Size mismatch when i am using simulink

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 个)

类别

帮助中心File Exchange 中查找有关 Simulink Functions 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by