Chapter 9. Simulink系统仿真

题目来自《MATLAB程序设计与应用》第二版 刘卫国 Chapter 9 Simulink系统仿真

课后习题解答

1. Simulink仿真基础

课堂讨论 利用Simulink对函数曲线进行仿真

利用 Simulink 仿真下列曲线。

给出仿真模型和仿真结果

simulink91;	 

2. 子系统的创建与封装

课堂讨论 画波形图

已知一个子系统的模型和内部结构分别如图(a)和图(b)所示,启动仿真模型后,得到示波器2的输出如图(c)所示,试画出示波器1的图形(要求和示波器2图形对比)。

simulink92;	 

示波器1 示波器2

3. S 函数的设计与应用

课堂讨论 设计 S 函数

已知
在这里插入图片描述
其中, x x x 为输入, k k k 为待定参数,试设计 S 函数,然后封装和应用相应的 S 函数模块。

k = 5;
simulink93;	 
function [sys,x0,str,ts,simStateCompliance] = system93(t,x,u,flag,k)
switch flag
  case 0
      [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;
  case 1
    sys=mdlDerivatives(t,x,u);
  case 2
    sys=mdlUpdate(t,x,u);
  case 3
    sys=mdlOutputs(t,x,u,k); % sys = k * sqrt(u)
  case 4
    sys=mdlGetTimeOfNextVarHit(t,x,u);
  case 9
    sys=mdlTerminate(t,x,u);
  otherwise
    DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));
end

function [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 1;
sizes.NumInputs      = 1;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0  = [];
str = [];
ts  = [0 0];
simStateCompliance = 'UnknownSimState';
 
function sys=mdlDerivatives(t,x,u)
sys = [];
 
function sys=mdlUpdate(t,x,u)
sys = [];
 
function sys=mdlOutputs(t,x,u,k)
sys = k * sqrt(u);
 
function sys=mdlGetTimeOfNextVarHit(t,x,u)
sampleTime = 1;
sys = t + sampleTime;
 
function sys=mdlTerminate(t,x,u)
sys = [];

4. Simulink 仿真应用举例

课堂讨论 二阶微分方程建模与仿真

有初始状态为0的二阶微分方程 y ′ ′ + 1.5 y ′ + 10 y = 2 u ( t ) y'' + 1.5y' + 10y = 2u(t) y+1.5y+10y=2u(t),其中u(t)是单位阶跃函数,试建立系统模型并输出响应曲线。
(给出建立的仿真模型和得到的仿真曲线)

simulink94;	 

感谢 CSDN 用户 大胖子zi 提供的习题内容。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值