【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('保存完成');
      

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系统化学习】深入理解匿名管道(pipe)和命名管道(fifo)

目录 进程间通信 进程间通信目的 进程间通信的方式 管道 System V IPC(本地通信) POSIX IPC(网络通信) 管道 什么是管道 匿名管道 匿名管道的创建 匿名管道的使用 匿名管道的四种情况 匿名管道的五种特性 命名管道 …

iOS总体框架介绍和详尽说明

iOS总体框架介绍和详尽说明 一、iOS是什么?1.iOS简述2.iOS界面 二、iOS总体框架介绍和详尽说明1.iOS的框架层级1. 核心操作系统层(Core OS layer)1.1 Accelerate Framework1.2 Core Bluetooth Framework1.3 External Accessory Framework1.4 …

【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现

1,视频地址 【wails】(4):使用wails做桌面应用开发,整合chatgpt-web项目做前端,进行本地开发,web端也可以连调,使用websocket实现 2,演示效果 启动先是报500 错误&#…

Charles小程序抓包(安卓版)

微信小程序/公众号抓包的主流方式 目前有以下几种: 1、WindowsBurpProxifier(配置困难,数据包卡顿) 2、Burp安卓模拟器(模拟器卡顿) 3、BurpCharles(本文测试,抓包完整,放包流畅…

防御保护第八、九、十、十一天笔记

一、内容安全 1、DFI和DPI技术 --- 深度检测技术 DPI是一种基于应用层的流量检测和控制技术,它会对流量进行拆包,分析包头和应用层的内容,从而识别应用程序和应用程序的内容。这种技术增加了对应用层的分析,识别各种应用&#xf…

【2024.02.22】定时执行专家 V7.0 发布 - TimingExecutor V7.0 Release - 龙年春节重大更新版本

目录 ▉ 新版本 V7.0 下载地址 ▉ V7.0 新功能 ▼2024-02-21 V7.0 - 更新日志▼ ▉ V7.0 新UI设计 ▉ 新版本 V7.0 下载地址 BoomWorks软件的最新版本-CSDN博客文章浏览阅读10w次,点赞9次,收藏41次。▉定时执行专家—毫秒精度、专业级的定时任务执行…

Jenkins2.426邮件通知配置

之前安装的jenkins出现问题了,重新装了jenkins,需要重新配置:Maven,JDK,Allure报告,邮件通知,Extended E-mail Notification等 配置Maven,JDK参考:CICD集合(四):Jenkins…

vue中使用wangEditor富文本编辑器

jsd-2306-vue-01: 教学项目教学项目教学项目教学项目教学项目 2306-vue-baking-teacher: 教学项目教学项目教学项目教学项目 一、脚手架工程中使用富文本编辑器wangEditor 1.通过以下命令 安装wangEditor npm i wangeditor -S 2.在main.js文件中添加以下配置信息 //引入wa…

多数pythoneer只知有列表list却不知道python也有array数组

数组和列表 Python中数组和列表是不同的,我敢断言大多数的pythoneer只知道有列表list,却不知道python也有array数组。列表是一个包含不同数据类型的元素集合,而数组是一个只能含相同数据类型的元素集合。 Python的array库是一个提供数组操作…

第七篇【传奇开心果系列】python的文本和语音相互转换库技术点案例示例:Sphinx自动电话系统(IVR)经典案例

传奇开心果博文系列 系列博文目录python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、Sphinx多语言支持示例代码四、Sphinx和语音合成库集成示例代码五、Sphinx语音识别前自然语言预处理示例代码六、Sphinx语音识别自动电话系统…

echarts 实现x轴文字过长时折行展示

代码如下: this.options {color: ["#0075FF", "#00E2C4", "#FCA884", "#FFCB11"],grid: {top: "25%",bottom: "6%",right: "8%",left: "8%",containLabel: true,},legend: {top…

vscode怎么运行C++的cpp文件

非常简单,点击vscode导航栏的Extensions, 搜索C/C Compile Run安装上即可, 写好 C/C 程序之后,直接使用 F6 一键编译运行就能出结果。

robots.txt 文件规则

robots.txt 是一种用于网站根目录的文本文件,其主要目的在于指示网络爬虫(web crawlers)和其他网页机器人(bots)哪些页面可以抓取,以及哪些页面不应该被抓取。可以看作是网站和搜索引擎机器人之间的一个协议…

实验室预约|实验室预约小程序|基于微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)

实验室预约小程序目录 目录 基于微信小程序的实验室预约管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 (1)管理员登录 (2)实验室管理 (3)公告信息…

【数据分享】2014-2024年全国监测站点的逐年空气质量数据(15个指标\免费获取)

空气质量的好坏反映了空气的污染程度,在各项涉及城市环境的研究中,空气质量都是一个十分重要的指标。空气质量是依据空气中污染物浓度的高低来判断的。 我们发现学者王晓磊在自己的主页里面分享了2014年5月以来的全国范围的到站点的逐时空气质量数据&am…

PBM模型学习

本专栏着重讲解PBM学习所得,学习笔记、心得,并附有视频素材资料,视频详细目录如下: PBM相关参数解释1 PBM相关参数解释2 PBM相关案例实践1 PBM相关案例实践2 PBM相关案例实践2 PBM相关案例实践3 PBM多相流中次相界面设置1 PBM多相…

ERC404 + meme 文化叙事,Dancing Beans 会达到怎样的高度?

在十年以前,一个叫做《wow!you can really dance》的鬼畜舞蹈视频,在互联网上刮起了一股 meme 浪潮,很多玩家将视频中跳舞的男主角的跳舞片段二次加工,进一步鬼畜化、做成表情包,并在各个社交平台疯传。与此…

SpringMVC 学习(二)之第一个 SpringMVC 案例

目录 1 通过 Maven 创建一个 JavaWeb 工程 2 配置 web.xml 文件 3 创建 SpringMVC 配置文件 spring-mvc.xml 4 创建控制器 HelloController 5 创建视图 index.jsp 和 success.jsp 6 运行过程 7 参考文档 1 通过 Maven 创建一个 JavaWeb 工程 可以参考以下博文&#x…

Linux命令之ls命令

ls命令 ls命令的作用是列出目录下的内容,语法如下: ls [ -a -l -h ] [ Linux路径 ] 1、 -a -l -h 是可选的选项。 2、Linux路径是此命令可选的参数。 当不使用选项和参数,直接使用 ls 命令本体,表示:以平…

华为OD机试真题-分割均衡字符串-2023年OD统一考试(C卷)---Python3--开源

题目: 考察内容: list.count(str) forif 代码: """ 题目分析: 子串数量尽可能多 连续子串,且x和y个数一致输入: 字符串, XY 任意个数组合 输出: 连续字串且字串要均衡&#x…