《MATLAB课程设计》报告
设计题目: 可视化用户界面设计
学生姓名:
学生学号: 2010
专业班级: 10级光信息
答辩时间:
指导教师: 冯明库
广东技术师范学院
电子与信息学院
一、设计目的及意义
学会综合地运用MATLAB工具箱设计出可以绘制一般常见图像的GUI程序。同时,加深对MATLAB的绘制图像功能的认识和设计GUI程序的一般方法的掌握。
二、设计任务及指标
设计一个GUI界面程序,可以根据不同参数的输入来绘制不同的螺旋线、内摆线以及圆环图像。
熟悉和掌握MATLAB 程序设计方法;掌握MATLAB GUI 程序设计;学习和熟悉MATLAB工具箱;学会运用MATLAB工具箱绘制常见图像。
三、设计过程
3.1、打开GUI设计窗口,添加有关控件对象。
首先,启动Matlab在命令窗口中输入“guide”,打开GUI设计窗口。然后在用户界面编辑窗口添加3个按钮、一个弹出框和一个静态文本框和一个坐标系(Axes)。
3.2、利用属性编辑器,设置图形对象的属性。
利用属性编辑器把3个按钮的Position属性的第三和第四个分量设为相同的值,以使3个按钮的宽和高都相等。3个按钮的String属性分别是说明文字Mesh、Surf和Contour3,FontSize属性设为10。
弹出框的String属性中输入三个选项:peaks、membrane、sinc。
静态文本框的String属性设置为Choose Data of Graphics。
3.3、编写代码,实现控件功能。
右击任意图形对象,在弹出的快捷菜单中选择View CallBacks子菜单,再选择CallBack命令,将自动打开一个M文件,这时在各控件的回调函数区输入相应的程序代码。
3.3.1.用于创建绘图数据的代码:
% --- Executes just before ex8_5 is made visible.
function ex8_5_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to ex8_5 (see VARARGIN)
handles.peaks=peaks(35);
handles.membrane=membrane(5);
[x,y]=meshgrid(-8:0.5:8);
r=sqrt(x.^2+y.^2);
sinc=sin(r)./(r+eps);
handles.sinc=sinc;
handles.current_data=handles.peaks;
3.3.2.为Mesh按钮编写响应函数代码如下:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
mesh(handles.current_data)
3.3.3.为Surf按钮编写响应函数代码如下:
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a f