动态绘图
使用MATLAB推荐的animatedline和addpoints函数绘图。
animatedline创建一条动态曲线,addpoints实时向其中添加点来实现动态效果。
function startupFcn(app)
tic;
axis(app.UIAxes, [0,10,-90,90]);
xlabel(app.UIAxes, "Time/s");
ylabel(app.UIAxes, "Angle/°");
首先在开始函数中使用tic来开启计时,然后设置坐标轴基本参数。
这里使用滑动条来实现数据的输入。
下面是滑动条的回调函数。
function SliderValueChanging(app, event)
changingValue = event.Value;
app.EditField_2.Value = changingValue;
persistent h
if isempty(h)
h = animatedline(app.UIAxes);
end
addpoints(h,toc,changingValue);
if toc > 5
axis(app.UIAxes,[toc-5, toc+5, -90, 90]);
end
首先创建一个animatedline的线条h,指定app中的坐标轴。
然后不停的将toc(运行时间,x轴)和changingValue(滑块数值,y轴)给到addpoints中,就会不断生成动态的图像。
唯一的问题就是,该函数只在滑动条改变时调用,所有滑动条不动时,图像也不动。