matlabGUI入门

2022-09-05 18:52:09 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

matlabGUI入门

  • 前言
  • 1 基础知识
    • 1.1 函数
    • 1.2 数据类型
    • 1.3 绘图
    • 1.4 其它
  • 2 GUIDE
    • 2.1 创建GUI界面
    • 2.2 模板选择
    • 2.3 控件
    • 2.4 对象浏览器
    • 2.5 回调函数
    • 2.6 属性检查器
    • 2.7 数据传输

前言

由窗口、菜单、图标、光标、按键、对话框和文本等各种图形对象组成的用户界面叫作图形用户界面(GUI)。它可以允许用户定制与MATLAB的交互方式,从而命令窗口不再是唯一与MATLAB的交互方式。用户通过鼠标或键盘选择、激活这些图形对象,使计算机产生某种动作或变化。


1 基础知识

1.1 函数

匿名函数

代码语言:javascript复制
F=(input1,input2...)expr

主函数 一个m文件只有一个主函数

子函数 一个m文件中主函数之外的函数称为子函数

嵌套函数

代码语言:javascript复制
function
	function
	end
end

私有函数 具有限制性访问权限的函数

重载函数 类似java的重载方法

1.2 数据类型

matlab的基本数据类型是双精度类型和字符型。

数据类型

说明

字节数

double

双精度数据类型

8

sparse

稀疏矩阵数据类型

N/A

single

单精度数据类型

4

uint8

无符号8位整数

1

uint16

无符号16位整数

2

uint32

无符号32位整数

4

uint64

无符号64位整数

8

uint8

有符号8位整数

1

int16

有符号16位整数

2

int32

有符号32位整数

4

int64

有符号64位整数

8

运算符

运算

运算符

a b

a-b

*

a*b

/

a/b

^(. ^)

a^b

复数矩阵的(共轭)转置

‘(. ‘)

A’(A.’)

矩阵和元胞数组

1.3 绘图

二维绘图

plot函数

xlabel('string'):表示给当前轴对象的x轴贴标签

ylabel('string'):表示给当前轴对象的y轴贴标签

title('string'):表示给当前坐标轴上方居中放置标题

三维绘图 plot3:绘制三维曲线图

stem3:绘制三维枝干图

grid on:打开坐标网络

grid off:关闭坐标网络

hold:在原有图形上添加图形

hold on:保持当前图形窗口内容

hold off:解除当前保持状态

1.4 其它

代码语言:javascript复制
clc;
%清空命令行窗口
clear;
%清除工作空间所有变量
clear all;
%清除工作空间所有变量和函数
close all;
%关闭图形窗口
save name;
%保存工作空间变量到文件name.mat中
save name.mat xy
%保存工作空间变量x,y到文件name.mat中
load name.mat
%载入name.mat文件中的所有变量到工作空间
load name x y
%载入name.mat文件中的的变量X.y到工作空间

2 GUIDE

GUIDE (graphical user interfaces development environment)是由窗口、光标、按键、菜单、文字说明等对象(objects)构成的一个用户界面。

  • 使用GUIDE编辑器编辑GUI,要分别编辑两个文件:一个是fig文件(.fig),包含了GUI对象的属性设置及其布局信息;另一个是M文件(.m),包含了控制GUI对象执行的回调函数。用户要做的只是两个步骤:GUI对象属性设置与布局、编辑回调函数。
  • 由GUIDE生成的M文件,控制GUI并决定GUI对用户操作的响应。它包含运行GUI所需要的所有代码。GUIDE自动生成M文件的框架,用户在该框架下编写GUI组件的回调函数。M文件由一系列子函数构成,包含主函数、opening函数和回调函数。其中主函数不能修改,否则容易导致GUI界面初始化失败。
  • hObject表示当前回调函数对应的GUI对象句柄,eventdata为附加函数,handles为当前GUI所有的数据的结构体,包含所有GUI对象的句柄和用户定义的数据。
  • gui_mainfcn函数:是GUI默认的处理函数。gui_mainfcn根据gui_state和传入参数来确定是执行回调函数还是打开GUI并运行openingfcn和outputfun。如果gui_callback为空,那么就运行GUI,打开主窗口fig文件;否则gui_callback指定的子函数。

将.fig文件用GUIDE打开便可编辑界面。 可以直接在.m文件中编辑函数。

2.1 创建GUI界面

GUI的打开方式有以下两种: 1、命令方式

代码语言:javascript复制
guide
%打开设计工作台启动界面。

guide file
%在工作台中打开文件名为file的用户界面。

2、菜单方式 在菜单栏中新建图像界面。

保存后会得到两个文件:.fig文件和.m文件。

2.2 模板选择

GUIDE提供了四种模板: 1、空白模板

2、控件

3、轴和菜单栏

4、模态对话框:

2.3 控件

按钮:执行某种预定的功能或操作

切换按钮:产生一个动作并指示一个二进制状态(开或关),当鼠标单击它时按钮将下陷,并执行Callback(回调函数)中指定的内容,再次单击,按钮复原,并再次执行Callback中的内容

单选按钮:单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项

复选框:单个的复选框用来在两种状态之间切换,多个复选框组成- -个复选框组时,可使用户在一组状态中做组合式的选择,或称为多选项

可编辑文本:用来使用键盘输人字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作

静态文本:仅用于显示单行的说明文字

滑块:可输人指定范围的数量值

列表框:在其中定义一系列可供选择的字符串

弹出式菜单:让用户从一列菜单项中选择一项作为参数输人

轴:用于显示图形和图像

2.4 对象浏览器

可以查看所有的对象。

2.5 回调函数

在GUIDE编辑界面选择控件>右击选择查看回调>选择指定的回调函数>跳转到.m文件指定函数编辑区域

CallBack:最常用的回调函数。点击按钮时,按钮下的Callback就会执行;拖动滑块时,滑块名下的callback就会执行。正常用途全放在callback下。

ButtonDownFcn:单击,这个函数名下的代码就会执行。 注:按钮的callback也是点击,会覆盖掉buttondownfcn函数。

CreateFcn:顾名思义,在生成这个控件,显示之前,执行这个函数名下的代码。

DeleteFcr:顾名思义,在控件要销毁,但是被毁灭之前执行这个函数名下的代码。

KeyPressFcr:当前控件获得焦点且有按键按下时执行。

SelectionChangeFcr:在群按钮组件中改变选择时,所执行的函数。

2.6 属性检查器

利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值。

2.7 数据传输

global定义全局变量

句柄 handles

传值

代码语言:javascript复制
a=str2double(get(handles.edit1,'String'));

画图

代码语言:javascript复制
plot(handles.axes1,x,y);

赋值

代码语言:javascript复制
set(handles.edit2,'String',a);

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135360.html原文链接:https://javaforall.cn

0 人点赞