通过guide 命令启动GUI设计,选择空文工程,绘制如下图界面
我们给滑动条和按钮的回调函数都类似的一个绘图函数plot(x,y)
function pushbutton1_Callback(hObject, eventdata, handles)
axes(handles.axes1);
x=0:0.01:pi/6;
a=get(handles.slider1,'Value');
y=sin(a*x);
plot(x,y);
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
a=get(handles.slider1,'Value');
set(handles.text2,'String',a);
axes(handles.axes1);
x=0:0.01/a:pi/6;
y=sin(a*x);
plot(x,y);
我们可以看到第一个按键操作的,我们取x的分辨率是0.01,而参与运算后的分辨率是0.01*a,随着a的增加,实际采样分辨率0.01*a越来越大,所以这样会导致a增加后,绘图会不够光滑。
那么怎么保证实际分辨率维持到0.01呢?
我们注意到0.01*a/a=0.01
因此我们可以让采样的x参数随着a变化。
x=0:0.01/a:pi/6;
当a=1时候,分辨率是0.01
当a=100时候实际分辨率还是0.01
|