【文件属性】:
文件名称:MATLAB仿真在通信与电子工程中的应用.rar
文件大小:3.36MB
文件格式:RAR
更新时间:2022-12-19 05:02:47
matlab 通信仿真
%程序2-19
function [sys,x0,str,ts] =Ampvar(t,x,u,flag,G) %G是辅助参数,增益
% 实现输入输出关系: y = G * u;
switch flag,
case 0 % flag=0 初始化
[sys,x0,str,ts]=mdlInitializeSizes(G); %注意这里带了参数G
case 3 % flag=3 输出方程求解
sys=mdlOutputs(t,x,u,G); %注意这里带了参数G
case { 1, 2, 4, 9 } % 其它作不处理的flag
sys=[];
otherwise %异常处理
error(['Unhandled flag = ',num2str(flag)]);
end
% 主函数结束
function [sys,x0,str,ts] = mdlInitializeSizes(G) % 初始化函数,注意这里带了参数G
sizes = simsizes;
sizes.NumContStates = 0; %连续系统的状态数
sizes.NumDiscStates = 0; %离散系统的状态数,对于本系统此句可不用
sizes.NumOutputs = -1; % 输入信号数目是动态的
sizes.NumInputs = -1; % 输出信号数目是动态的
sizes.DirFeedthrough = 1; % 该系统是直通的
sizes.NumSampleTimes = 1; % 这里必须为1
sys = simsizes(sizes);
str = []; % 通常为空矩阵
x0 = []; % 初始状态矩阵
ts = [0 0]; % 连续取样时间
% 初始化函数结束
G=3;
function sys = mdlOutputs(t,x,u,G)% % 系统输出函数,注意这里带了参数G
sys = u*G;
% 系统输出函数结束