【MATLAB GUI】 4. 坐标区和表

看B站up主freexyn的freexyn编程实例视频教程系列36Matlab GUI的学习笔记

文章目录

  • 坐标区

坐标区

任务要求设计一个图像显示界面,根据选定的周期做出相应的sin函数图像

  1. 使用坐标区、弹出式菜单、普通按钮设计页面,弹出式菜单string设置为1、2、3、4代表4个周期,按钮string为“作图”,保存为test4.fig
    在这里插入图片描述

  2. 程序应该写在普通按钮的回调函数中,读取弹出式菜单中的周期数,在坐标区中作图

    在.fig界面右击“作图”按钮-查看回调-callback,定位到.m文件的pushbutton1_Callback

    function pushbutton1_Callback(hObject, eventdata, handles)
    %弹出式菜单中的值和value对应,所以直接使用其value
    value=get(handles.popupmenu1,'value');
    %fplot(funx,funy,tinterval)将在指定区间tinterval之间绘制由x=funx(t)和y=funy(t)定义的曲线
    fplot(handles.axes1,@sin,[0,2*pi*value]);%@函数名,返回function_handle
    title('sin')
    grid on
    
  3. 坐标区是没有回调函数的,只是一个显示图像的工具

  4. 但是坐标区有一个函数ButtonDownFcn(),当点击坐标区会触发这个函数程序的运行,如复制pushbutton1_Callback的代码过来,使得第一次点击坐标区和点击“作图”按钮的效果是一致的,但是第二次第三次点击会看不到绘制出的新图像,因为第一张图像把坐标区覆盖住了

    所以坐标区的图像都是使用另外的按钮来触发

    function axes1_ButtonDownFcn(hObject, eventdata, handles)
    %弹出式菜单中的值和value对应,所以直接使用其value
    value=get(handles.popupmenu1,'value');
    %fplot(funx,funy,tinterval)将在指定区间tinterval之间绘制由x=funx(t)和y=funy(t)定义的曲线
    fplot(handles.axes1,@sin,[0,2*pi*value]);%@函数名,返回function_handle
    title('sin')
    grid on
    

任务要求设计一个信息管理系统,实现数据打开、读取、编辑、存储功能

  1. 使用表、普通按钮、静态文本框设计如下页面,保存为test5.fig

    在这里插入图片描述

  2. 数据处理:准备一个excel表格test5.xlsx,右键表格,点击“表 属性编辑器”,在列页面,插入列,修改列名称

    在这里插入图片描述

    在这里插入图片描述

  3. 定位到“打开”按钮的回调函数callback

    function pushbutton1_Callback(hObject, eventdata, handles)
    %读取文件夹中的excel数据
    [~,~,data]=xlsread('test5.xlsx');
    set(handles.uitable1,'data',data);
    

    在这里插入图片描述

    此时excel表格里的首行名字也被复制过来了,要想只有数据被复制过来,则

    function pushbutton1_Callback(hObject, eventdata, handles)
    %读取文件夹中的excel数据
    [~,~,data]=xlsread('test5.xlsx');
    **data(1,:)=[];%第一行被设置为空,gui中不显示空行**
    set(handles.uitable1,'data',data);
    

    在这里插入图片描述

  4. 当在运行时可以修改“成绩1”和“成绩2“,点击”保存“按钮,使得excel表格自动同步修改:

    1. 在运行时可以修改“成绩1”和“成绩2“:右键表-查看回调-CellEditCallback,单元格编辑的回调函数,即当运行时修改单元格内容,会调用这个函数

      function uitable1_CellEditCallback(hObject, eventdata, handles)
      % eventdata是一个保留字段,包含以下信息:
      %	Indices: 被编辑单元的行列位置
      %	PreviousData: 被编辑单元的原始数据
      %	EditData: 输入的数据
      ind=eventdata.Indices;
      pr=eventdata.PreviousData;
      ed=eventdata.EditData;
      s=['第',num2str(ind(1)),'行第',num2str(ind(2)),'列的数据',num2str(pr),'被更改为:',num2str(ed)];
      set(handles.text2,'string',s);
      

      在这里插入图片描述

    2. 点击”保存“按钮,excel表格自动同步修改:右键”保存“按钮-查看回调-Callback

      function pushbutton2_Callback(hObject, eventdata, handles)
      %首先获得表格上的数据
      data=get(handles.uitable1,'data');
      xlswrite('test5_out',data);
      helppdlg('保存完成');
      

      在这里插入图片描述
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/405013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LAPACK xgeqr2.f 算法总结推导

以 DGEQR2 函数为例,其分为两步: 先计算Householder vector,调用了 DLARFG( ) 然后实施了Householder 变换,调用了 DLARF( ) 接下来先分析DLARFG( )的算法 源代码如下: *> \brief \b DLARFG generates an e…

Bert基础(一)--自注意力机制

1、简介 当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言处理领域。它不单替代了以前流行的循环神经网络(recurrent neural network, RNN)和长短期记忆(long short-term memory, LSTM)网络,并且以它为基础衍生出了诸如BERT、GPT-3、T5等…

开源软件:塑造软件行业未来的协作与创新之力

随着信息技术的迅猛发展,开源软件已经逐渐成为软件开发的潮流,以其独特的低成本、可协作性和透明度等特性,在全球范围内引起了广泛的关注和应用。越来越多的企业和个人选择使用开源软件,这不仅推动了软件行业的繁荣,还…

Android约束布局中用ConstraintHelper实现过渡动画效果

前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。 👉点击跳转到教程 一.创建一个类CircularRevealHelper继承ConstraintHelper代码如下 /*** Author: ly* Da…

sambamba — samtools 的高效平替工具

sambamba — samtools 的高效平替工具 sambamba 是一个 BAM 文件处理工具。 sambamba 它使用了 D 语言的多线程和异步 IO 特性,实现了高效的并行化处理。sambamba 可以在多核 CPU 上同时运行多个任务,利用硬盘和内存的带宽,提高了处理速度。…

多模态MLLM都是怎么实现的(1)

好多读者私信说想了解一下多模态的内容,我这人最大的优点就是听劝... 好,那么好 , 今天开始陆续写点多模态内容,没想好是不是要写个专栏(因为我之前挖的坑太多...),然而还是开了,今天先写点基础做个seed 有想了解一下多模态扫盲的读者,可以自己先看看这篇论文 2311.131…

代码随想录算法训练营day24|理论基础、77. 组合

理论基础 题目链接/文章讲解:代码随想录 视频讲解:带你学透回溯算法(理论篇)| 回溯法精讲!_哔哩哔哩_bilibili 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归…

原型设计工具Axure RP

Axure RP是一款专业的快速原型设计工具。Axure(发音:Ack-sure),代表美国Axure公司;RP则是Rapid Prototyping(快速原型)的缩写。 下载链接:https://www.axure.com/ 下载 可以免费试用…

Javascript数字精度丢失的问题

一、问题 0.1 0.2 0.3 // false 二、浮点数 “浮点数”是一种表示数字的标准,整数也可以用浮点数的格式来存储 我们也可以理解成,浮点数就是小数 在JavaScript中,现在主流的数值类型是Number,而Number采用的是IEEE754规范中…

springboot集成mqtt

文章目录 前言一、MQTT是什么?二、继承步骤1.安装MQTT2.创建项目,引入依赖3. 对应步骤2的代码3 测试 总结mqtt 启动后访问地址 前言 随着物联网的火热,MQTT的应用逐渐增多 曾经也有幸使用过mqtt,今天正好总结下MQTT的使用; 一、MQTT是什么?…

node 之 初步认识

思考:为什么JavaScript可以在浏览器中被执行 代执行的js代码——JavaScript解析引擎 不同的浏览器使用不同的JavaScript解析引擎 Chrome 浏览器 》 V8 Firefox浏览器 》OdinMonkey(奥丁猴) Safri浏览器 》JSCore IE浏览器 》Chakra(查克拉) e…

[VulnHub靶机渗透] HA: Narak

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

ubuntu20.04 安装 matlab R2023b

ubuntu20.04 使用matlab R2023b 起因步骤问题问题1问题2问题3 起因 闲着没事,想在ubuntu上安装matlab。 步骤 这个博客写得很好,我就不赘述了:参考博客 。但有点不一样:我现在matlab官网上下载的linux版本不是iso镜像文件&…

计算机设计大赛 深度学习二维码识别

文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…

第3.5章:StarRocks数据导入——Broker Load

注:本篇文章阐述的是StarRocks-3.2版本的Broker Load导入机制 一、概述 Broker Load导入方式支持从HDFS类的外部存储系统(例如:HDFS、阿里OSS、腾讯COS、华为云OBS等),支持Parquet、ORC、CSV、及 JSON 四种文件格式&a…

一个非常强大的可视化.NET开源任务调度框架

在项目开发中,任务调度的场景非常多,比如每天定时发送邮件、延迟1小时处理、长时间任务(数据导入、图像处理或文件转换)等一些业务场景,我们日常做法可能会编写一个后台服务项目解决这些场景。 今天给大家推荐一个开源…

Spring6学习技术|Junit

学习材料 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解) Junit 背景 背景就是每次Test都要重复创建容器,获取对象。就是ApplicationContext和getBean两个语句。通过Spring整合Junit,可以…

Linux(ACT)权限管理

文章目录 一、 ATC简介二、 案例1. 添加测试目录、用户、组,并将用户添加到组2. 修改目录的所有者和所属组3. 设定权限4. 为临时用户分配权限5. 验证acl权限 6. 控制组的acl权限 一、 ATC简介 ACL(Access Control List,访问控制列表&#xf…

【JavaScript 语法】

JavaScript 语法 ■ JavaScript 是什么■ JavaScript 语法■ JS 注释■ JS 结束符■ JS 输入输出语句■ JS 代码块■ JS var和let 作用域■ JS var和let 全局变量■ JS const 常量/对象/数组■ JS 关键词■ JS 值■ JS 字面量 (混合值)■ JS 变量&#x…

C语言——实用调试技巧——第1篇——(第22篇)

坚持就是胜利 文章目录 一、什么是bug?二、调试是什么?有多重要?三、debug 和 release 的介绍?1、2、3、 四、windows环境调试介绍1、调试环境的准备2、学会快捷键F5 或者 Fn F5条件断点 Ctrl F5F9 或者 Fn F9F10 或者 Fn F10F11 或者 F…