• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: Matlab
  • 标签: 倒立摆  matlab  演示  

资源简介

这是一个演示直线二级倒立摆的matlab运行模型,这个模型能够根据仿真数据动画演示出二级倒立摆的运动情况。

资源截图

代码片段和文件信息

function Invertedpendulum(carp1p2)
%car=0;p1=pi;p2=pi;
l1=1;l2=1;
%% 初始化坐标系 绘制小车
car_x=-0.5+car:1:0.5+car;
car_y=0.3*ones(1length(car_x));
car_d=0*ones(1length(car_x));
plot(car_xcar_y‘k‘);
hold on
plot(car_xcar_d‘k‘);
hold on
car_h=linspace(00.310);
car_l=-0.5+car*ones(110);
car_r=0.5+car*ones(110);
plot(car_lcar_h‘k‘);
hold on
plot(car_rcar_h‘k‘);
set( gca ‘XLim‘ [-4 4] );
set( gca ‘YLim‘ [-4 4] )
set( gca ‘XTick‘ -4:0.5:4); 
set( gca ‘YTick‘ -4:0.5:4 );
hold on
%% 绘制倒立摆杆1
p1_x0=car;p1_y0=0.3;
if mod(p1pi)==0
    p1_x=p1_x0*ones(110);
    if mod(p1/pi2)==0
        p1_y=linspace(p1_y0p1_y0+l110);
    else
        p1_y=linspace(p1_y0p1_y0-l110);
    end
else
    p1_k=cot(p1);
    p1_b=p1_y0-p1_k*p1_x0;
    p1_x=linspace(min(p1_x0p1_x0+sin(p1)*l1)max(p1_x0p1_x0+sin(p1)*l1)100);
    p1_y=p1_k*p1_x+p1_b;
end
plot(p1_xp1_y‘r‘‘LineWidth‘2);
hold on
%% 绘制倒立摆杆2
p2_x0=p1_x0+sin(p1)*l1;p2_y0=cos(p1)*l1+0.3;
if mod(p2pi)==0
    p2_x=p2_x0*ones(110);
    if mod(p2/pi2)==0
        p2_y=linspace(p2_y0p2_y0+l210);
    else
        p2_y=linspace(p2_y0p2_y0-l210);
    end
else
    p2_k=cot(p2);
    p2_b=p2_y0-p2_k*p2_x0;
    p2_x=linspace(min(p2_x0p2_x0+sin(p2)*l2)max(p2_x0p2_x0+sin(p2)*l2)100);
    p2_y=p2_k*p2_x+p2_b;
end
plot(p2_xp2_y‘b‘‘LineWidth‘2);
hold off


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        224  2012-10-23 12:28  nemoIP.m

     文件       1898  2012-10-23 12:11  nemo.mat

     文件       1402  2012-10-23 12:33  Invertedpendulum.m

----------- ---------  ---------- -----  ----

                 3524                    3


评论

共有 条评论