?? ch2example23sfunshow.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 + -