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

📄 pretest.m

📁 二阶倒立摆的simulink模型建模仿真。以及初始化代码
💻 M
字号:

M = 1.32;
m1 = 0.033;
m2 = 0.109;
m3 = 0.208;
L1 = 0.077;
L2 = 0.25;
g = 9.8;

k12 = 3*g*(2*m1 + 4*m2 + 4*m3)/(2*(4*m1 + 3*m2 + 12*m3)*L1);

k22 = 2*g*(m1 + 2*(m2 + m3))/(4*m2*L2 - (16/9)*(m1 + 3*(m2 + m3))*L2);

k13 = -9*m2*g/(2*(4*m1 + 3*m2 +12*m3)*L1);

k23 = 4*g*(m1 +3*(m2 + m3))/(3*(4*m2*L2-(16/9)*(m1 + 3*m2 + m3)*L2));

k17 = 3*(2*m1 + m2 + 4*m3)/(2*(4*m1 + 3*m2 + 12*m3)*L1);

k27 = (2*(m1 + 2*(m2 + m3)) - (4/3)*(m1 + 3*(m2 + m3)))/(4*m2*L2 - (16/9)*(m1 + 3*(m2 + m3)*L2));

a=[0 0 0 1 0 0;
   0 0 0 0 1 0;
   0 0 0 0 0 1;
   0 0 0 0 0 0;
   0 k12 k13 0 0 0;
   0 k22 k23 0 0 0];
b=[0;
   0;
   0;
   1;
   k17;
   k27];
c=[1 0 0 0 0 0 ;
   0 1 0 0 0 0;
   0 0 1 0 0 0
   0 0 0 1 0 0;
   0 0 0 0 1 0;
   0 0 0 0 0 1];
n=length(a);

q1=zeros(n);
q1(:,1)=b;
for i=2:n
    q1(:,i)=a*q1(:,i-1);
end
m=rank(q1)
if m==n
    disp('System is controllable.');
else
    disp('System state variables cannot be totally controlled.');
end

q2=zeros(6*n);
q2=[c;
    c*a;
    c*a*a;
    c*a*a*a;
    c*a*a*a*a;
    c*a*a*a*a*a];
s=rank(q2)
if s==n
    disp('System is observable.');
else
    disp('System state variables cannot be totally observed');
end

⌨️ 快捷键说明

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