matlab GUI学习笔记3 如何添加axes并刷新计算结果,以及初始化axes的句柄。

2023-05-16

从昨天开始matlab GUI的编程需要用到图像显示了,也就是axes插件,里面涉及到很多问题,一一记录下来解决方法。

(1)首先添加axes,很简单。图像显示框的名称叫坐标轴,很容易误会。

(2)在axes中显示结果,即若点击计算按钮,在图像框中显示计算结果。

计算按钮的tag为pushbutton1,在其callback中获取输入参数,并进行计算,将得到的计算图像显示,用“axes(handles.axes1); plot(t*1e6*1e6,d);%匹配结果"语句,或直接使用“plot(handles.axes1,t*1e6*1e6,d);”,同理,使用imshow和imagesc语句是相同的操作。

***需要注意的是,axes的句柄只能使用handles,不可使用guihandles,否则会报错。

(3)刷新axes内容

当我更新部分参数,重新点击计算时,会报错“引用了不存在的字段 'axes1'”,但是我的axes1明明存在,而且第一次计算的时候显示并无问题,查找原因后,发现需要将axes1中显示的结果删除后才能重新正确显示。大家建议添加“刷新(pushbutton)”将之前的结果全部删除,但我想在计算按钮的基础上进行刷新,并不想再添加一个按钮,所以将清除axes内容的语句添加到“计算”按钮callback里。

清除axes内容的命令有很多,例如“cla”,“delet”,并将axes的NextPlot属性改为“replace”。在使用cla语句的时候也走了很多弯路,直接添加cla或cla(handles.axes1)依旧还会报错,需要添加reset,即“cla(handles.axes1,'reset');”,若axes存在多个且都需要清除的情况下,还可以使用“cla reset”语句。同样的,delet命令也需要添加reset。

(4)在主界面初始化axes的句柄

当我从主界面(software.fig)打开新的界面(pushbutton5.fig)并进行计算时,发现会报错,错误为:“结构体内容引用自非结构体数组对象  axes(handles.axes1)”,也能看出在不存在axes的新界面计算并在edit或text中显示内容时,并不会报错,而通过主界面打开存在axes的界面时,就报错。

这个问题我查了好久,最终在国外的问答网站上发现了原因:由guide生成的figure窗口必须通过在.m文件中“RUN”打开才可以正确运行,因为这样才会初始化handles句柄,通过fig打开,就不会产生handles的句柄,所以在多界面编程中,若要通过点击按钮打开一个新界面,用open(‘pushbutton5.fig’)只能应对不存在axes的情况,否则需要在主界面打开新界面时就对新界面的handles进行初始化。

注意:上述命令中的“close(h)”这个语句酌情删除,因为这个命令的存在导致新窗口打开的同时旧窗口关闭,若想保持旧窗口的打开状态就需要去掉这句命令。

*****************************************************************************************************

总结:第三个问题和第四个问题对于高手来讲可能是很简单的问题,对于小白来讲就很陌生且不好解决,花费了好长时间才解决这两个问题。国内对GUI编程的内容和解答相对较少,需要我们多查多看多试,总会成功的!

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab GUI学习笔记3 如何添加axes并刷新计算结果,以及初始化axes的句柄。 的相关文章

  • charles + postern 抓包教程

    部分app设置了禁止wifi 代理 所以抓包采用 vpn 转发的方式来抓包分析 1 电脑下载 charles 手机下载 postern 2 charles 配置 记住这个http代理端口 8888 还有 socks 代理端口 8889 后面
  • 从零开始一起学习SLAM(1)为什么要学SLAM?

    文章目录 从零开始一起学习SLAM 为什么要学SLAM xff1f 此文发于公众号 xff1a 计算机视觉life 从零开始一起学习SLAM 为什么要学SLAM xff1f 从零开始一起学习SLAM 为什么要学SLAM xff1f 计算机视
  • 从零开始一起学习SLAM(3)SLAM有什么用?

    文章目录 从零开始一起学习SLAM SLAM有什么用 xff1f 初步认识SLAMSLAM的应用1 定位相关应用2 建图相关应用 讨论 此文发于公众号 xff1a 计算机视觉life 原文链接 xff1a 从零开始一起学习SLAM SLAM
  • 浅谈企业网络安全边界

    前言 企业网络安全关键在找准安全边界 xff08 攻击点 xff09 xff1a 边界的左边是攻击者 xff08 脚本小子 骇客 APT攻击 xff09 xff0c 边界的右边是网络资产 信息资产 企业网络安全建设则在安全边界处设防 xff
  • 单片机(STM32)通过以太网(TCP/IP)上传数据到PC端

    单片机使用的是STM32 xff0c 上位机软件用的是网络调试助手 xff08 CM精装版V3 8 2 xff09 单片机通过以太网连接到PC机有两种连接方式 xff0c 一种是通过交换机 xff0c 一种是直接连接 本人采用的是直连的方式
  • VSCode 下 C++ 的文件编译以及运行

    一 基于 g 43 43 的命令 1 g 43 43 编译单文件 xff0c 生成带调试信息的可执行文件并调试 方法一 生成可执行文件 g 表示生成带有可调试信息的文件 o 表示指定生成的文件名 xff08 缺省状态下为 a exe xff
  • samba基本使用

    程序环境 xff1a 服务端程序包 xff1a samba 与Windows机器交互的服务器和客户端软件 配置文件 xff1a etc samba smb conf 由samba common包提供 主程序 xff1a nmbd NetBI
  • 关于A-Softmax损失函数的一些解释

    关于A Softmax损失函数的一些解释 关于A Softmax具体内容请参考论文 SphereFace Deep Hypersphere Embedding for Face Recognition by Weiyang Liu Yand
  • 最简单的,无登录帐号密码的samba配置

    网上很多samba配置文件的分享 但是大多数比较繁琐 xff0c 因为要设置帐号密码之类的 但是我仅仅是个人使用 要什么密码啊 xff0c 只要能够在window和Linux之间传送文件就可以了 xff0c 没必要那么麻烦 下面请看最简单的
  • StringBoot + Thymeleaf + PageHelper + PageInfo 前端引入式分页

    1 Thymeleaf 配置application properties xff1a thymeleaf 配置 spring thymeleaf servlet content type 61 text html spring thymel
  • Calibre的Linux安装error:libxcb-xinerama0及解决方法

    前言 喜欢阅读电子书的朋友 xff0c 如果碰到epub格式的文本还好 xff0c 但是如果遇到mobi和awz3格式 xff0c 可能会苦恼于没有好的电子书阅读器 Calibre是一款功能强大且易用的电子书管理器 xff0c 提供格式转换
  • ubuntu 18.04 安装 xfce 4.14

    xfce4 14 版本 release 已经有一小段时间啦 xff08 4 12 重构 4 14 更换 gtk3 花了很长时间 xff09 xff0c 如果等 ubuntu 20 04 还需要一段时间 xff0c 那么 18 04 上是否可
  • SNMPv3认证和加密过程

    前面的一些文章详细讲解了SNMPv3的报文内容 xff0c 下面主要的内容就是SNMPv3的加密和认证过程 xff01 USM的定义为实现以下功能 xff1a 鉴别 数据加密 密钥管理 时钟同步化 避免延时和重播攻击 1 UsmSecuri
  • Linux Arm架构(nvidia nx/AGX板子)图漾相机python SDK配置

    相机型号 xff1a TL460 E1 主要参考教程 xff1a 快速入门 PercipioDC V 2 4 0 documentation 一 下载SDK包 Comport3 SDK C 43 43 虽然目标是相机的Python接口 xf
  • 详细版hadoop平台搭建常见问题总结(三)——hadoop的安装

    三 xff0e 关于安装hadoop时候的一些问题 这个就有的说了 xff0c 很多人安装过程中只是按照教程来安装 xff0c 不知道其中的一些步骤是什么意思 xff0c 甚至很多都是照搬 xff0c 连主机名都没有改 安装hadoop大概
  • NVIDIA Jetson TX2 环境配置

    前言 笔者参加学校的冰壶机器人实验课基于NVIDIA Jetson TX2开发板进行开发 这篇文章主要记录NVIDIA Jetson TX2的环境配置过程和踩坑记录 一 NVIDIA Jetson TX2简介 NVIDIA Jetson T
  • 很少人知道的无人机飞行原理

    对于一项新科技 xff0c 围观总是多于实干 xff0c 无人机也不例外 但随着无人机成本的降低 xff0c 相当一批人开始入手 xff0c 并应用到旅游 直播 救灾等场景中 无人机进入消费领域 无人机的发展正处于风口 xff0c 市场价格
  • 《C++高效编程:内存与性能优化》第九章:高效内存管理

  • 远程桌面连接mstsc win10开启与配置

    开启服务 方法1 在设置 系统 远程桌面中 xff0c 打开启用远程桌面功能 方法2 在控制面板 系统 允许远程访问中 xff0c 远程桌面里打开允许远程连接到此计算机功能 允许多个远程桌面连接 win 43 r 输入gpedit msc
  • 决策树CART、ID3、C4.5原理梳理

    老饼讲解机器学习 http ml bbbdata com teach 108 目录 一 学习决策树原理的顺序 二 CART分类树 一 分类树模型结构 二 分类树构建过程 二 剪枝 防止过拟合 xff09 三 CART回归树模型 四 ID3算

随机推荐