24小时热门版块排行榜    

查看: 250  |  回复: 0

yyy1112

银虫 (小有名气)

[求助] matlabS函数仿真出现错误,求帮忙!

程序:function [sys,x0,str,ts] = chap2_1(t,x,u,flag)
switch flag,
    case 0,
    [sys,x0,str,ts]=mdlInitializeSizes;
    case 3,
        sys=mdlOutputs(t,x,u);
    case{2,4,9}
        sys=[];
    otherwise
      error(['unhandled flag= ',num2str(flag)]);
end
        function [sys,x0,str,ts]=mdlInitializeSizes
            sizes=simsizes;
            sizes.NumContStates=0;
            sizes.NumDiscStates=0;
            sizes.NumOutputs=1;
            sizes.NumInputs=3;
            sizes.DirFeedthrough=1;
            sizes.NumSampleTimes=0;
            
            sys=simsizes(sizes);
            x0=[];
            str=[];
            ts=[];
            
                function sys =mdlOutputs(t,x,u)
               error=u(1);
                derror=u(2);
                errori=u(3);
               
               
                kp=60;
                ki=1;
                kd=3;
                ut=kp*error+kd*derror+ki*errori;
               
                sys{1}=ut;
               
运行这段程序时,系统显示
Output returned by S-function 'chap2_1' in 'CHAP1_1/S-Function' during flag=3 call must be a real vector of length 1   求大神帮忙看看! 谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yyy1112 的主题更新
信息提示
请填处理意见