没有合适的资源?快使用搜索试试~ 我知道了~
关于matlab中s-function参数设置的两个例子讲解详尽受益匪浅.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 100 浏览量
2022-07-11
09:45:32
上传
评论
收藏 164KB PDF 举报
温馨提示
试读
3页
关于matlab中s-function参数设置的两个例子讲解详尽受益匪浅.pdf
资源推荐
资源详情
资源评论
例 10.1 设系统的微分方程为:
t
exx
txx
5.0
2
'
2
2
'
1
试建立系统仿真模型。
例 10.2 利用 Simulink 构建函数曲线 y=5t
2
+16。
例 10.3 利用 Simulink 仿真求 I=
1
0
)1ln( dxxx
。
例 10.4 有初始状态为 0 的二阶微分方程 x"+0.2x'+0.4x=0.2u (t), 其中 u(t)
是单位阶跃函数,试建立系统模型并仿真。
例 10.5 PID 控制器是在自动控制中经常使用的模块,在工程应用中其标
准的数学模型为
)()
/
1
1()( sE
NsT
sT
sT
KsU
d
d
i
p
其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一
般选 N≥10。试建立 PID 控制器的模型并建立子系统。
例 10.6 利用使能子系统构成一个正弦半波整流器。
例 10.7 利用触发子系统将一锯齿波转换成方波。
例 10.8 采用 S 函数实现模块 y=nx,即模块的功能是把一个输入信号 n 倍
以后再输出。
(1) 利用MATLAB语言编写S函数。程序如下:
%*************************************************
%S 函数 timesn.m,其输出是输入的 n 倍
%*************************************************
function [sys,x0,str,ts]=timesn(t,x,u,flag,n)
switch flag,
case 0 %初始化
[sys,x0,str,ts]=mdlInitializeSizes;
case 3 %计算输出量
sys=mdlOutputs(t,x,u,n);
case {1,2,4,9} %未使用的 flag 值
sys=[];
otherwise %出错处理
error(['Unhandle flag=',num2str(flag)]);
end
%*************************************************
%mdlInitializeSizes:当 flag 为 0 时进行整个系统的初始化
%*************************************************
资源评论
智慧安全方案
- 粉丝: 3659
- 资源: 59万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功