Matlab第六课:图形界面(GUI)程序设计

目标:

  1. Graphical User Interface

一、MATLAB GUI Programs

开始完成一个GUI程序:

1.建立一个文件夹,存储程序

2.使用 guide 命令在命令行创建一个matlab GUI 界面

Matlab第六课:图形界面(GUI)程序设计_第1张图片

3.可以拖动组件,创建GUI

 Matlab第六课:图形界面(GUI)程序设计_第2张图片

相关组件的说明:

Matlab第六课:图形界面(GUI)程序设计_第3张图片

4.点击运行,保存,就生成了一个GUI

 Matlab第六课:图形界面(GUI)程序设计_第4张图片

5.调整组件的排列,第一种是在第三部的界面直接拖动组件,第二种如下:

  • 选中要排列的组件
  • 点击菜单栏工具,对齐对象,到达如下界面进行设置

 Matlab第六课:图形界面(GUI)程序设计_第5张图片

调整后的GUI如下所示:

 Matlab第六课:图形界面(GUI)程序设计_第6张图片

6.在第三步的界面双击组件,调出检查器,更改组件的属性

 Matlab第六课:图形界面(GUI)程序设计_第7张图片

 上面是我们操作matlab简单的创建了一个图形界面,生成一个GUI包括两部分,一是:.fig文件存放的是GUI界面。二是:.m文件存放的是组件相关代码,并可以在代码中进行操作,为GUI添加功能。

首先:看看.m文件代码的结构

Matlab第六课:图形界面(GUI)程序设计_第8张图片

在untitled_OpeningFcn()函数中,添加代码,这个函数是在程序运行时,就开始执行。运行代码,得到如下的GUI

Matlab第六课:图形界面(GUI)程序设计_第9张图片       Matlab第六课:图形界面(GUI)程序设计_第10张图片

 当我们将上述代码添加到pushbutton1_Callback()中时,当我们点击按钮1,才会画图。可以自行运行程序,效果和上图相同。

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)
handles.peaks=peaks(35);
handles.membrane=membrane;
[x,y] = meshgrid(-8:.5:8);
r = sqrt(x.^2+y.^2) + eps;
sinc = sin(r)./r;
handles.sinc = sinc;
handles.current_data = handles.peaks;
surf(handles.current_data)

当我们有连个axes时,如下:

Matlab第六课:图形界面(GUI)程序设计_第11张图片

我们需要分析组件的handle:

Matlab第六课:图形界面(GUI)程序设计_第12张图片

 如果,不对其进行限制,图像会显示在第二个axes上,我们限制其显示在第一个axes上。

Matlab第六课:图形界面(GUI)程序设计_第13张图片                 Matlab第六课:图形界面(GUI)程序设计_第14张图片

修改代码如下:

 Matlab第六课:图形界面(GUI)程序设计_第15张图片

set()和get(): 获取属性与创建属性

创建一个text组件和一个slider组件。当滑动slider时,字符串更改为test

Matlab第六课:图形界面(GUI)程序设计_第16张图片              Matlab第六课:图形界面(GUI)程序设计_第17张图片

Use Handles to Store Variables :

Matlab第六课:图形界面(GUI)程序设计_第18张图片

Compiling the GUI Program:

将我们的程序转化为.exe文件,让程序在别的电脑上依然可以执行。

deploytool:打包成.exe 

 Matlab第六课:图形界面(GUI)程序设计_第19张图片

你可能感兴趣的:(Matlab语言基础,MATLAB)