www.gusucode.com > MATLAB雷达工具箱 > MATLAB雷达工具箱/MATLAB雷达工具箱/dbtlinkR1-3/setcal1_s.m
function [sys,x0,str,ts] = setcal1_s(t,x,u,flag,restParam) % % The general form of an M-File S-function syntax is: % [SYS,X0,STR,TS] = SFUNC(T,X,U,FLAG,P1,...,Pn) % % Optional parameters, P1,...,Pn can be provided to the S-function and % used during any FLAG operation. switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case { 1, 2, 4, 9 } sys=[]; % Unused flags case 3, sys=mdlOutputs(t,x,u,restParam); otherwise error(['Unhandled flag = ',num2str(flag)]); end % %============================================================================= % mdlInitializeSizes % Return the sizes, initial conditions, and sample times for the S-function. %============================================================================= % function [sys,x0,str,ts]=mdlInitializeSizes % call simsizes for a sizes structure, fill it in and convert it to a % sizes array. sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; % at least one sample time is needed sys = simsizes(sizes); x0 = []; % No continuous states str = []; % str is always an empty matrix, reserved for future use by Simulink ts = [0 0]; % initialize the array of sample times % end mdlInitializeSizes %============================================================================= % mdlOutputs % Return the block outputs. %============================================================================= function sys=mdlOutputs(t,x,u,restParam) getinvar % Gets the input variable "inVar1" from the previous Simulink block. outVar1 = setcal1_s(inVar1, restParam{:}); % Calculate the DOA spectrum by a DBT function. putoutvarclear % Clear the variable "inVar1" and puts the output variable "outVar1" % to the next Simulink block. % end mdlOutputs