关于MATLAB的GUI一些实用小技巧
一、数据传递的问题 数据传递的方法很多,也有很多相关的帖子,初步涉及这个东西的时候也参考了很多帖子,百度一下就可以看到很多,不给链接咯,介绍一个我最推荐的方法: setappdata和getappdata 函数原型是 setappdata (figureHandle,'varName',varValue)
一、数据传递的问题
数据传递的方法很多,也有很多相关的帖子,初步涉及这个东西的时候也参考了很多帖子,百度一下就可以看到很多,不给链接咯,介绍一个我最推荐的方法:
setappdata和getappdata
函数原型是
setappdata(figureHandle,'varName',varValue)
作用是在一个图像figureHandle上设置(或者创建)一个名为varName的应用程序变量,其值为varValue。
varValue = getappdata(figureHandle,'varName')
作用是从一个图像figureHandle上取出名为varName的应用程序变量,其返回值存储于varValue中。
其中
figureHandle 一个图形对象句柄,通常GUI程序的主窗口就是一个图形对象句柄,用handles.figureTag在GUI程序中引用主窗口对象,figureTag为主窗口的tag属性值
varName figureHandle上的应用程序变量的名称,可以与自己所写的程序的变量的名称不同,在上述函数原型中加注 ' ' 是提醒你这个变量名一定要是字符串类型
varValue setappdata中代表要保存的变量,可以是任何类型 ; getappdata中代表用来保存被取出的值的变量
TIPS : 在多窗口的GUI程序中最好用 setappdata(0,'varName',varValue) 来保存变量(如果未创建会自动创建) , 用 varValue =getappdata(0,'varName') 来获取保存的变量(如果未保存会返回 [ ] ,即为空 ) , 这里的 '0' 是根对象,这样做的好处是可以在不同的窗口之间调用(不仅仅是在同一个窗口的不同函数之间),而且不用考虑所保存的对象是哪一个,即使gcf变换后也不会出错 另外,你可能会发现我介绍的figureHandle 是图形对象句柄,其他对象的句柄也是可以的,不过这个用的相对多些 |
通过存储以及取出完成函数间以及窗口间的数据传递。EG:
函数1中
setappdata(handles.mainFigure,'matrixA',A)
函数2中
B = getappdata(handles.mainFigure,'matrixA')
这样我就把 A 的值传递到了 B 中。
另外,养成一个好的习惯,尤其是当你使用的是根对象来存储变量的时候,在使用完以后记得删除这些变量
rmappdata(figureHandle,'varName')
二、窗口的独占
其实这个问题很简单,只是当时搜索的时候搜索了太久太久,都没有点到正题,所以还是列出来。
在创建的时候,将 windowstyle 属性值设置为 'modal' 即可 ( 也用set来完成该属性的设置 )
三、在MATLAB中运行.EXE程序
在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。
TIPS : 在MATLAB中所有字符 ( 除了 ' ' 内的以及注释文字 ) 均用英文输入法,尤其是标点符号,这个很容易弄错 |
四、关于矩阵
MATLAB关于矩阵的运算是极其方便的了,不过在写比较繁琐的程序中要慎用哦。如果关于矩阵的操作需要操作多次,而实际上做了操作的仅仅是矩阵中的少部分元素的话,建议使用元素操作而不用矩阵操作,这样效率会高很多,笔者亲身体验过那个慢啊,受不了
其实还有很多小技巧,欢迎各位读者指出笔者的错误,更希望你们能把你们用MATLAB时候的一些点滴经验留在评论中~~~~

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

0.这篇文章干了啥?提出了DepthFM:一个多功能且快速的最先进的生成式单目深度估计模型。除了传统的深度估计任务外,DepthFM还展示了在深度修复等下游任务中的最先进能力。DepthFM效率高,可以在少数推理步骤内合成深度图。下面一起来阅读一下这项工作~1.论文信息标题:DepthFM:FastMonocularDepthEstimationwithFlowMatching作者:MingGui,JohannesS.Fischer,UlrichPrestel,PingchuanMa,Dmytr

全角英文字母转换为半角形式的实用技巧在现代生活中,我们经常会接触到英文字母,在使用电脑、手机等设备时也经常需要输入英文字母。然而,有时候我们会遇到全角英文字母的情况,而我们需要使用的是半角形式。那么,如何将全角英文字母转换为半角形式呢?下面就为大家介绍一些实用的技巧。首先,全角英文字母和数字是指在输入法中占据一个全角位置的字符,而半角英文字母和数字则是占据一

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

在iPhone上面临滞后,缓慢的移动数据连接?通常,手机上蜂窝互联网的强度取决于几个因素,例如区域、蜂窝网络类型、漫游类型等。您可以采取一些措施来获得更快、更可靠的蜂窝互联网连接。修复1–强制重启iPhone有时,强制重启设备只会重置许多内容,包括蜂窝网络连接。步骤1–只需按一次音量调高键并松开即可。接下来,按降低音量键并再次释放它。步骤2–该过程的下一部分是按住右侧的按钮。让iPhone完成重启。启用蜂窝数据并检查网络速度。再次检查修复2–更改数据模式虽然5G提供了更好的网络速度,但在信号较弱

哭死啊,全球狂炼大模型,一互联网的数据不够用,根本不够用。训练模型搞得跟《饥饿游戏》似的,全球AI研究者,都在苦恼怎么才能喂饱这群数据大胃王。尤其在多模态任务中,这一问题尤为突出。一筹莫展之际,来自人大系的初创团队,用自家的新模型,率先在国内把“模型生成数据自己喂自己”变成了现实。而且还是理解侧和生成侧双管齐下,两侧都能生成高质量、多模态的新数据,对模型本身进行数据反哺。模型是啥?中关村论坛上刚刚露面的多模态大模型Awaker1.0。团队是谁?智子引擎。由人大高瓴人工智能学院博士生高一钊创立,高

Win11小技巧分享:一招跳过微软账户登录Windows11是微软最新推出的操作系统,具有全新的设计风格和许多实用的功能。然而,对于一些用户来说,在每次启动系统时都要登录微软账户可能会感到有些烦扰。如果你是其中一员,不妨尝试一下以下的技巧,让你能够跳过微软账户登录,直接进入桌面界面。首先,我们需要在系统中创建一个本地账户,来代替微软账户登录。这样做的好处是

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

多模态文档理解能力新SOTA!阿里mPLUG团队发布最新开源工作mPLUG-DocOwl1.5,针对高分辨率图片文字识别、通用文档结构理解、指令遵循、外部知识引入四大挑战,提出了一系列解决方案。话不多说,先来看效果。复杂结构的图表一键识别转换为Markdown格式:不同样式的图表都可以:更细节的文字识别和定位也能轻松搞定:还能对文档理解给出详细解释:要知道,“文档理解”目前是大语言模型实现落地的一个重要场景,市面上有很多辅助文档阅读的产品,有的主要通过OCR系统进行文字识别,配合LLM进行文字理
