多轴导向的matlab仿真

时间:2013-06-04 22:51:36

标签: matlab animation user-interface axes

我正在尝试对跳跃的弹簧高跷进行简单的模拟。我已经创建了一个GUI,用户可以选择不同的图形来比较速度,角度...我还模拟了弹簧针摆动的一些钟摆,它们在自己的图中工作得很好。然而,问题是不断更新GUI中的数字。与GUI图中一样,它仅显示最终帧。

我可以在我的GUI代码中使用某种定期中断函数来持续更新动画吗?或者我在哪里可以找到一些主要类型的功能,我可以在等待GUI中断时添加代码?还有其他想法吗?

这是运行动画的代码。

simulation_on = 1;
for j=2:length(t)
    if simulation_on == 1,
        figure(2);
        clf
        hold on
        scale = 3; %scale the simulation drawing
        framesize = 1;
        foot = [0 0];
        body = [0.01*scale lb*2*scale];
        pbody = [radiusshaft*scale lengthshaft*scale]; %set body width,1 and hight,1
        pfoot = [(foot(1)-body(2)*sin(-ab3set(j))) (foot(2)-body(2)*cos(-ab3set(j)))]; %set x position,1 and Y position,2
        pw1foot = [(pfoot(1)+lengthshaft*sin(ap1set(j))*scale) (pfoot(2)-lengthshaft*cos(ap1set(j))*scale)];
        pw2foot = [(pfoot(1)+lengthshaft*sin(ap2set(j))*scale) (pfoot(2)-lengthshaft*cos(ap2set(j))*scale)];
        pwbody = [0.01*scale 0.01*scale];
        drawing(foot,body,ab3set(j)-pi,framesize,'g');
        drawing(pfoot,pbody,ap1set(j)-pi,framesize,'r');
        drawing(pw1foot,pwbody,ap1set(j)-pi,framesize,'r');
        drawing(pfoot,pbody,ap2set(j)-pi,framesize,'b');
        drawing(pw2foot,pwbody,ap2set(j)-pi,framesize,'b');
        %pause(timestep);
        hold off
    end
end

绘图函数只使用fill()绘制图形参数。

0 个答案:

没有答案