matlab的s环节,求助各位大佬,帮小弟一把用s函

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

function [sys,x0,str,ts,simStateCompliance]=caotian(t,x,u,flag,u1,u2,u3,u4,k)switch flag case 0 [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes(k); case 1 sys = mdlDerivatives(t,x,u,k); case {2,9} sys = []; case 3 sys = mdlOutputs(t,x,u); otherwise DAStudio.error(‘Simulink:blocks:unhandledFlag’, num2str(flag));endfunction [sys,x0,str,ts,simStateCompliance] = mdlInitializeSizes(k)sizes = simsizes;sizes.NumContStates = 1;sizes.NumDiscStates = 0;sizes.NumOutputs = 1;sizes.NumInputs = 1;sizes.DirFeedthrough = 0;sizes.NumSampleTimes = 1;sys = simsizes(sizes);str = [];x0 = [];ts = [0 0]; simStateCompliance = ‘DefaultSimState’;function sys = mdlDerivatives(t,x,u,k)if(u(1)==1&u(2)==1&u(3)==1) k=1;elseif(u(1)==1&u(2)==1&u(3)==0) k=2;elseif(u(1)==1&u(2)==0&u(3)==1) k=3;elseif(u(1)==1&u(2)==0&u(3)==0) k=4;elseif(u(1)==0&u(2)==1&u(3)==1) k=5;elseif(u(1)==0&u(2)==1&u(3)==0) k=6;elseif(u(1)==0&u(2)==0&u(3)==1) k=7;elseif(u(1)==0&u(2)==0&u(3)==0) k=8;endswitch u(4) case 1 if(k==1) SA=1; SB=1; SC=0; else if(k==2) SA=1; SB=0; SC=0; else if(k==3) SA=0; SB=1; SC=0; else if(k==4) SA=0; SB=1; SC=1; else if(k==5) SA=1; SB=0; SC=0; else if(k==6) SA=1; SB=0; SC=1; else if(k==7) SA=0; SB=1; SC=1; else if(k==8) SA=0; SB=0; SC=1; end case 2 if(k==1) SA=0; SB=1; SC=0; else if(k==2) SA=0; SB=0; SC=0; else if(k==3) SA=0; SB=1; SC=1; else if(k==4) SA=1; SB=1; SC=1; else if(k==5) SA=0;