s-function输入参数不足

问题遇到的现象和发生背景

输出函数输入参数不足,我感觉我都写上了啊,版本r2021a,谢谢!

用代码块功能插入代码,请勿粘贴截图

function [sys,x0,str,ts] = spacemodel(t,x,u,flag,i)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 1
sys=[];
case 2
sys=[];
case 3
sys=mdlOutputs(t,x,u,i);
case {4,9}
sys=[];
otherwise
error(['Unhandled flag=',num2str(flag)]);
end
function [sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates =0; %共有10个输入,u1为yd;u2,u3为当前x状态;u4,u5为前一次x状态
sizes.NumDiscStates =0; %u6,u7为当前干扰,u8,u9为前一次干扰,u10为当前输出
sizes.NumOutputs =1;
sizes.NumInputs =10;
sizes.DirFeedthrough =1;
sizes.NumSampleTimes =1;
sys=simsizes(sizes);
str=[];
x0=[];
ts=[0.02 0];
end
function sys=mdlOutputs(t,x,u,i)
K1=11.9760;
K2=[-9.7804,4.9900];
K3=[-9.9800,0.1996];
dx1=[u(2);u(3)];
dx2=[u(4);u(5)];
ddx=dx1-dx2;
dz1=[u(6);u(7)];
dz2=[u(8);u(9)];
ddz=dz1-dz2;
ek=u(1)-u(10);
sys(1)=K1ek+K2ddx+K3*ddz;
end
end

运行结果及报错内容

Error in 'simtcy/S-Function2' while executing MATLAB S-function 'diedaictrl', flag = 3 (output), at time 0.0.
Caused by:
错误使用 main (第 19 行)
输入参数的数目不足。

我想要达到的结果

运行正常