大家好,又见面了,我是你们的朋友全栈君。
matlabGUI入门
前言
由窗口、菜单、图标、光标、按键、对话框和文本等各种图形对象组成的用户界面叫作图形用户界面(GUI)。它可以允许用户定制与MATLAB的交互方式,从而命令窗口不再是唯一与MATLAB的交互方式。用户通过鼠标或键盘选择、激活这些图形对象,使计算机产生某种动作或变化。
1 基础知识
1.1 函数
匿名函数
F=(input1,input2...)expr
主函数
一个m文件只有一个主函数
子函数
一个m文件中主函数之外的函数称为子函数
嵌套函数
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 其它
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、命令方式
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
传值
a=str2double(get(handles.edit1,'String'));
画图
plot(handles.axes1,x,y);
赋值
set(handles.edit2,'String',a);
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135360.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...