dlbmx.m

来自「二级倒立摆的建模及仿真」· M 代码 · 共 55 行

M
55
字号
function [sys,x0,str,ts]=dlbmx(t,x,u,flag)A=[0 0 0 1.0000 0 0;   0 0 0 0 1.0000 0;   0 0 0 0  0 1.0000;   0 -2.5147 0.1819 -15.7473 0.0120 -0.0056;   0 32.3198 -17.6722 28.1980 -0.2223 0.1937;   0 -50.3025 76.4870 -29.6917 0.5639 -0.6890];B=[0;   0;   0;   8.1688;  -14.6275;   15.4024];C=[1 0 0 0 0 0;   0 1 0 0 0 0;   0 0 1 0 0 0];switch flag,case 0,[sys,x0,str,ts]=mdlInitializeSizes(A,B,C);case 1,sys=mdlDerivatives(t,x,u,A,B,C);case 3,sys=mdlOutputs(t,x,u,A,B,C);case 2;sys=[];    case 4;        sys=[];    case 9;        sys=[];otherwise error(['Unhandled flag=',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizes(A,B,C)sizes=simsizes;sizes.NumContStates=6;sizes.NumDiscStates=0;sizes.NumOutputs=3;sizes.NumInputs=1;sizes.DirFeedthrough=0;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0=[0 (15/180)*3.1416 (10/180)*3.1416 0 0 0];str=[];ts=[-1 0];function sys=mdlDerivatives(t,x,u,A,B,C)sys=A*x+B*u;function sys=mdlOutputs(t,x,u,A,B,C)sys=C*x;

⌨️ 快捷键说明

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