www.gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第5章/xiu5_8.m

    function [sys,x0,str,ts]= xiu5_8fun (t,x,u,flag,threshold)
switch flag
    case 0, %flag=0初始化
        sizes = simsizes;                   %获取Simulink仿真变量结构
        sizes.NumContStates  = 0;          %连续系统的状态数为0
        sizes.NumDiscStates = 0;           %设置离散状态变量的个数
        sizes.NumOutputs = 1;              %设置系统输出变量的个数
        sizes.NumInputs =-1;                %输入信号数目是自适应的
        sizes.DirFeedthrough = 1;           %设置系统是直通
        sizes.NumSampleTimes = 1;           % 这里必须为1
        sys = simsizes(sizes);              %设置系统参数
        str =[]; %通常为空矩阵
        x0=[] %零状态
        ts  = [-1 0];                      %采样时间由外部模块给出    
    case 3,   %flag=3输出方程计算           
        sys=u(1)*(u(2)>threshold)+u(3)*(u(2)<=threshold)
    case {1,2,4,9},   %其他不处理的flag
        sys=[];   %无用的flag时返回sys为空矩阵
    otherwise   %异常处理
        error(['Unhandled flag= ',num2str(flag)]);
end