在MATLAB GUI中运用定时器制作动画
发布时间
阅读量:
阅读量
MATLAB提供了展示动态图形的一些示例,如vibes和truss等工具,但它们与通过GUIDE生成的M文件所具有的架构有所不同.在truss工具中,主要采用while循环不断更新图形窗口,并配合使用pause函数以控制更新速度.这种架构不适于作为单独的子函数运行,因为这会导致当运行该子函数时程序无法处理用户的其他交互操作,必须预先设定终止条件并等待动画自然完成.
在MATLAB环境中,定时器timer具有定期触发的能力,并能执行预设的任务。通过这一特性,在不影响GUI整体响应的情况下即可实现绘图数据的动态更新。例如,在仿真实验中若要实现一个曲面随时间周期性变形,则需按下‘开始’按钮引发振动过程,并可调节振幅大小以及振动周期长短等参数设置。其区别在于所有操作均在辅助函数内部完成。
在GUIDE界面设计完成后,在‘启动’按钮的回调函数中初始化一个定时器timer对象handles。
设置为period值为0.05秒的定时器对象handles.timer。
其TimerFcn属性配置为指向PlotUpdate函数,并传递handles变量。
具体设置如下:
- period属性设定为固定执行周期FixedRate模式
- TimerFcn属性指定调用PlotUpdate函数来执行绘图操作
- handles参数用于将所需的绘图函数与定时器关联起来
请关注PlotUpdate函数的
全部评论 (0)
还没有任何评论哟~
