360网站点评,网站正在建设中英语怎么说,nginx php7 wordpress,怎么下载1688上的视频1、用S-函数实现一个正弦波信号源。要求其幅度、频率和初始相位参数可由外部设置#xff0c;并将这个信号源进行封装。
S-函数程序代码如下#xff1a; function [sys,x0,str,ts] ch2example17Sfun(t,x,u,flag,Amp,Freq,Phase)
% 正弦波信号源
switch flag, case 0 …1、用S-函数实现一个正弦波信号源。要求其幅度、频率和初始相位参数可由外部设置并将这个信号源进行封装。
S-函数程序代码如下 function [sys,x0,str,ts] ch2example17Sfun(t,x,u,flag,Amp,Freq,Phase)
% 正弦波信号源
switch flag, case 0 % flag0 初始化 [sys,x0,str,ts]mdlInitializeSizes; case 3 % flag3 计算输出 sysmdlOutputs(t,Amp,Freq,Phase); case {1, 2, 4, 9 } % 其他作不处理的flag sys[]; % 无用的flag时返回sys为空矩阵
otherwise % 异常处理 error([Unhandled flag ,num2str(flag)]);
end
% 主函数结束
% 子函数实现1初始化函数----------------------------------
function [sys,x0,str,ts] mdlInitializeSizes %
sizes simsizes; % 获取SIMULINK仿真变量结构
sizes.NumContStates 0; % 连续系统的状态数为0
sizes.NumDiscStates 0; % 离散系统的状态数为0
sizes.NumOutputs 1; % 输出信号数目是1
sizes.NumInputs 0; % 输入信号数目是0
sizes.DirFeedthrough 0; % 该系统不是直通的
sizes.NumSampleTimes 1; % 这里必须为1
sys simsizes(sizes);
str []; % 通常为空矩阵
x0 []; % 初始状态矩阵x0 零状态情况
ts [0 0]; % 表示连续取样时间的仿真
% 初始化函数结束 % 子函数实现2系统输出方程函数-----------------------------
function sys mdlOutputs(t,Amp,Freq,Phase)
sys Amp*sin(2*pi*Freq*tPhase);% 这里写入系统的输出方程矩阵形式即可
% 修改这个函数可以得到任意的波形输出
% 系统输出方程函数结束 2、在该S-函数接口中我们使用了三个输入参数项分别作为正弦波的幅度、频率和初
相位的输入,相应地在使用S-函数模块调用该函数时需要在设置对话框中的S-function
parameters中填写这些输入参数项然后对S-函数模块进行封装就得到了一个子系
统和相应的参数设置对话框。完成后的系统如下图所示。最后设置好示波器显示范
围和仿真参数就可以启动仿真实验了。 图S-函数实现的信号源和封装结果