⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch2example23sfunshow.m

📁 通信程序源代码和模型通信程序源代码和模型通信程序源代码和模型
💻 M
字号:
function [sys,x0,str,ts]=ch2example23Sfunshow(t,x,u,flag,v0,theta0,L,m,g,k) 
% 单摆的动画显示
switch flag, 
    case 0                 % flag=0 初始化 
       sizes = simsizes;           % 获取SIMULINK仿真变量结构
       sizes.NumContStates  = 0;   % 连续系统的状态数是0
       sizes.NumDiscStates  = 0;   % 离散系统的状态数是0
       sizes.NumOutputs     = 0;   % 输出信号数目是0
       sizes.NumInputs      = 1;   % 输入信号数目是0
       sizes.DirFeedthrough = 1;   % 该系统是直通的 
       sizes.NumSampleTimes = 1;   % 这里必须为1 
       sys = simsizes(sizes); 
       str = [];           % 通常为空矩阵 
       x0  = [];           % 初始状态矩阵x0
       ts  = [-1 0];       
   case 3                     % flag=3 计算输出 
       sita=u;
       x=L*sin(sita);         % 计算摆锤的位置
       y=-L*cos(sita);
       plot([0,x],[0,y],'-o');% 动画作图   
       text(.5,-.5,['t=',num2str(t)]);% 显示参数
       text(.5,-.6,['L=',num2str(L)]); 
       text(.5,-.7,['m=',num2str(m)]); 
       text(.5,-.8,['k=',num2str(k)]); 
       axis equal;       % 坐标纵横比例相同
       axis([-L L -L L]);% 坐标范围固定
       set(gcf,'DoubleBuffer','on');% 双缓冲避免作图闪烁
       drawnow;                     % 立即执行作图命令
   case {1,2,4,9}    % 其他作不处理的flag 
       sys=[];       % 无用的flag时返回sys为空矩阵
otherwise % 异常处理 
       error(['Unhandled flag = ',num2str(flag)]); 
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -