Matlab的GUI编程之一
1、编程需求
listbox中选中项的回调函数
点和直线扫描闪烁,周期可控
清空图形中的部分内容
自适应调整图形范围
1.1 listbox中选中项的回调函数
在listbox中右键,选择Callback回调函数;在回调函数中编辑操作。
1.2 listbox中右键按下回调函数
在listbox中右键,选择ButtonDownFcn回调函数;
会自动生成回调函数,在函数下编辑操作。
在listbox中按下右键,就会运行回调函数
1.3 航迹扫描闪烁,周期可控(动态图)
用for循环,中间pause(0.1)暂停
% 动态更新
for k = 1:100y1 = sin(t + k * 0.1); % 更新波形set(h1, 'YData', y1);pause(0.1);
end
1.4 清空图形中的部分内容(删子集)
使用delete函数删除元素。。。。把每个plot编成一个数组,然后删除整个数组。
set(h, 'Visible', 'off'); % 隐藏直线
- `hold off`是绘图命令的一个状态设置,用于指示MATLAB在执行新的绘图命令时替换当前图形窗口中的内容。
- 当`hold off`生效时,任何新的绘图命令都会导致当前图形窗口被清空,并绘制新的图形。
- `hold off`是默认状态,即在未使用`hold on`之前,MATLAB默认处于`hold off`状态。
clf
删除当前图窗中具有可见句柄的所有子级。
clf(fig)
删除指定图窗中具有可见句柄的所有子级。
clc;clear;close allfigure(1)
i=1:100;
p=plot(i,i.*i,'ro');
hold on
q=plot(i,-i.*i,'bo');
r=plot(i,i.*i/2,'go');delete(p); % 删除plot
set(h, 'Visible', 'off'); % 隐藏直线
for i=1:100p(i)=plot(i,i*i,'ro');hold onq(i)=plot(i,-i*i,'bo');r(i)=plot(i,i*i/2,'go');
enddelete(r)
set(p, 'Visible', 'off'); % 隐藏直线
set(p, 'Visible', 'on'); % 隐藏直线