MATLAB GUI编程实例:绘制sinx和cosx图像
需积分: 10 47 浏览量
更新于2024-07-25
收藏 317KB DOC 举报
GUI编程实例简析
本文将对GUI编程实例进行简析,主要介绍了在MATLAB中编程GUI的实例,包括使用fig方式编写绘制sinx、cosx图像的关键程序和操作。
GUI编程实例
在MATLAB中,GUI编程是指使用图形用户界面来交互式地操作和可视化数据的过程。下面是一个使用fig方式编写绘制sinx、cosx图像的关键程序和操作实例。
fig方式编写绘制sinx、cosx图像
首先,在GUI设计器上放置2个pushbutton、1个popupmenu、2个statictext、1个坐标系。然后,在popupmenu的回调函数中,使用switch语句来根据选择的值设置数据的值。
```matlab
function popupmenu_func_Callback(hObject,eventdata,handles)
val=get(hObject,'value');
switch val
case 1
handles.data='sin(x)';
set(handles.text1,'string','sin(x)');
case 2
handles.data='cos(x)';
set(handles.text1,'string','cos(x)');
otherwise
handles.data='sin(x)';
set(handles.text1,'string','sin(x)');
end
guidata(hObject,handles);%最关键
```
在pushbutton的回调函数中,使用if语句来根据选择的值绘制sinx或cosx图像。
```matlab
function pushbutton_red_Callback(hObject,eventdata,handles)
x=0:0.1:2*pi;
if handles.data=='sin(x)'
y=sin(x);
plot(x,y,'r');
end
if handles.data=='cos(x)'
y=cos(x);
plot(x,y,'r');
end
end
function pushbutton_blue_Callback(hObject,eventdata,handles)
x=0:0.1:2*pi;
if handles.data=='sin(x)'
y=sin(x);
plot(x,y,'b');
end
if handles.data=='cos(x)'
y=cos(x);
plot(x,y,'b');
end
end
```
动态增加button
在GUI中,我们也可以动态增加button。下面是一个使用figure函数创建GUI窗口,并动态增加button的实例。
```matlab
figure('MenuBar','none','Name','Gui01','NumberTitle','off','Position',[200,200,100,140]);
uicontrol('Style','PushButton','String','Push','Position',[20,100,60,20],'CallBack','disp(''You are pressed''');
```
结语
本文通过一个简单的实例,展示了MATLAB中使用fig方式编写绘制sinx、cosx图像的关键程序和操作。同时,我们也可以动态增加button来丰富GUI的交互式体验。
2011-06-23 上传
2013-07-04 上传
2011-07-14 上传
2011-06-16 上传
2013-12-23 上传
2020-07-19 上传
2018-08-29 上传
2021-11-30 上传
青藤门徒
- 粉丝: 0
- 资源: 1
最新资源
- Chrome ESLint扩展:实时运行ESLint于网页脚本
- 基于 Webhook 的 redux 预处理器实现教程
- 探索国际CMS内容管理系统v1.1的新功能与应用
- 在Heroku上快速部署Directus平台的指南
- Folks Who Code官网:打造安全友好的开源环境
- React测试专用:上下文提供者组件实现指南
- RabbitMQ利用eLevelDB后端实现高效消息索引
- JavaScript双向对象引用的极简实现教程
- Bazel 0.18.1版本发布,Windows平台构建工具优化
- electron-notification-desktop:电子应用桌面通知解决方案
- 天津理工操作系统实验报告:进程与存储器管理
- 掌握webpack动态热模块替换的实现技巧
- 恶意软件ep_kaput: Etherpad插件系统破坏者
- Java实现Opus音频解码器jopus库的应用与介绍
- QString库:C语言中的高效动态字符串处理
- 微信小程序图像识别与AI功能实现源码