MatLab GUI 进阶知识总结

MatLab GUI 进阶知识总结

1.从一个GUI控件或者菜单栏连接到另外一个GUI界面

简述:就是你在使用一个软件时,点击了了菜单栏或者按钮时,转换到了另外一个界面

方法:在该GUI控件的CallBack中输入另外一个GUI的(.fig)的文件名,注意不加后缀
举例:一个按钮控件,需要连接的GUI界面的名称为(test.fig)

CallBack在哪儿
1.针对按钮一类的控件:右键你创建的按钮控件,查看回调,第一个就是了

2.针对菜单栏:它的CallBack在打开菜单编辑器后,在下图,点击查看即可
在这里插入图片描述

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)
test            %输入test即可,就是折么简单 每一个按钮都是一个函数 function 包围

% --- Executes on button press in pushbutton2.

2.数组中的end它的妙用

可以用的地方:
1.数组的索引:最基础的用法

>>a = [1 2 3;4 5 6]
>>a(end,end)
>>6   	% 含义 a 数组的最后一行,最后一列的那个元素

2.end用于迭代动态存储):本人挺喜欢使用
直接上例子:

Double = [];
Single = [];
for i = 1:100
    if mod(i,2) == 0
        Double(end + 1) = i;
    else
        Single(end + 1) = i;
    end   
end
A = 1;
for i = 1:length(Double)
    A = A * Double(i);
end
B = sum(Single);

代码的含义
1.先定义了两个空数组Single,Double。这个在迭代前,相当于一个声明,不写的话,MatLab可能会报错
2.加入一个 for 循环,将 1 到 100 之间的所有的能被 2 整除的,也就是 2 的倍数(Double),存储到Double数组中中,不能整除的自然是奇数(Single),存储到Single数组中
3.这样做的作用:划重点,实现了数组的动态存储,这一点遇到的情况可能会很多
4.后面的一个 for 循环,实现了100以内的偶数的乘(246*8…) 和 100 以内的奇数的求和(1+ 3 + 5 + 7 + …)
注意:上面的代码用到的是(end + 1),这样才能起到更新数组,将每次循环的数组放到数组的最后面,类似于 python 的 append() 函数

3.MatLab GUI 读取edit可编辑文本框中输入的数字

注意事项
在edit控件中输入的是字符串,为(str)类型,你如果不使用num2str()函数的话,下面的程序运算在用断点调试的时候,会显示你输入的是空 ‘[ ]’

读取流程
1.使用 get() 函数获取到你输入到edit可编辑文本框中的数值

Num = str2num(get(handles.edit1,'String'));
%含义:将 Tag 为 edit1 的可编辑文本框,获取到人输入进去的数字(默认输入的是字符串类型,所以需要转换,举例:你输入的是:123,但是MatLab默认是:'123'),
%先转换为数字类型 123 ,然后将该数字赋值给变量 Num

4.将程序中的计算结果(变量值)显示到可编辑文本控件或者静态文本控件

先看代码

set(handles.text1,'String',test);

解释:
1.假如 test = 123
2.将test的值显示在 Tag 为 1 的静态文本 text1 中

## 5.数字 1 怎么显示成 001 ?

解决方案:

num2str(1, '%05d')  %完美解决  05可以根据需求更改

未完待续…
觉得有用,留下你的赞~

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值