(三)Appdesigner-界面转换及数据导入和保存

ops/2024/9/25 19:16:55/

提示:文章为系列文章,可以在对应学习专栏里面进行学习。对应资源已上传

目录

前言

一、Appdesigner是什么?

二、界面切换

三、数据导入及保存

(一)数据导入

(二)数据保存

总结


前言

        Appdesigner是MATLAB中进行软件开发的部分,可以创建exe文件,脱离MATLAB的运行环境,生成独立的App。本文首先介绍了Appdesigner是什么,并介绍了两个功能的程序设计方法,第一个是程序界面之间的切换功能,另一个是程序数据的导入和保存功能。之后,博主会介绍更多的Appdesigner程序设计技巧和功能,并上传示例资源,大家可以根据实际需求拓展使用示例程序。


一、Appdesigner是什么?

        MATLAB中的Appdesigner是实现人机交互的重要平台,可以将程序和仿真进行封装,生成对应的App软件,是程序展示的一种重要形式。我们可以通过MATLAB进行程序的编写,但是程序的使用者有时并不需要了解程序的内部构成,更加关注程序的使用功能,因此需要一种良好的程序交互界面,也就是MATLAB中之前使用的GUI功能,但是相比之下,Appdesigner是以组件的形式自动生成程序,构建界面,更加的简便和高效,有取代GUI的趋势,因此掌握Appdesigner的编写技巧,构建良好的人机交互界面是一项重要的技能。

二、界面切换

        界面切换的原很简单,就是创建一个按钮,增加相应的回调函数,通过关闭当前界面,打开对应的其他界面来实现界面之间的切换。下面展示相应的界面和程序


app1中界面切换按钮代码如下(示例):

app2;
delete(app);

app2中界面切换按钮代码如下(示例):

app1;
delete(app);

三、数据导入及保存

        数据的导入导出要根据数据的类型进行具体的编写,但是基本的框架是相同的。利用两个按钮的回调函数进行设计,数据的导入之前要进行文件的选择;数据的保存要选择保存的位置,下面根据不同的数据类型对按钮的回调函数进行编写。

        其对应页面布局如下:

(一)数据导入

        数据导入可以分为很多数据类型,可以从(.csv)文件、(.mat)文件或者(.xlsx)文件中进行数据的读取,所运用的读取函数可能不同,但是方法类似,示例中展示了(.csv)文件的导入程序。

        以下程序为(.csv)文件的数据导入程序:

%数据导入
[filename,pathname]=uigetfile('*.csv');
name = strcat(pathname,filename);
variable = csvread(name);

(二)数据保存

         数据保存也可以分为很多数据类型,可以保存(.csv)文件、(.mat)文件或者(.xlsx)文件格式的数据,所运用的保存函数可能不同,但是方法类似,示例中展示了(.csv)文件、(.mat)文件以及(.xlsx)文件格式的保存程序。

        以下程序为(.xlsx)文件的数据保存程序:

[result_filename,pathname]=uiputfile('输出表.xlsx','文件保存为');% 将结果写入 Excel 文件
result_sheet = 'Sheet1';
filename1 = strcat(pathname,result_filename);xlswrite(result_filename_1, {'h1', 'h2', 'h3', 'h4'}, result_sheet, 'A1');
result_data = [1:length(G); G; 2*G; 3*G];
xlswrite(filename1, result_data', result_sheet, 'A2');

        以下程序为(.mat)文件的数据保存程序:

[filename,pathname]=uiputfile('data.mat','数据保存为');% 获取私有属性数据                
data = app.simOut.platform;% 保存数据为MAT文件
save(fullfile(pathname,filename), 'data');% 显示保存成功信息
uialert(app.UIFigure, '数据已保存', '保存成功');

         以下程序为(.csv)文件的数据保存程序:

% 将结果写入 Excel 文件
[filename,pathname]=uiputfile('platform.csv');
name = strcat(pathname,filename);
dataoutput = [1 1 1 1 1]; 
dlmwrite(name, dataoutput,'precision','%.5f');

总结

        以上就是今天要讲的内容,本文仅仅简单介绍了Appdesigner两种功能的设计方法,一个是界面的切换功能,另一个是数据的导入和保存功能。后续会逐步介绍更多的软件功能设计技巧并上传更多的资源。


http://www.ppmy.cn/ops/32758.html

相关文章

[BLE] Heart Rate Protocol - Sensor

写在前面 目前我从网上找到的有关BLE心率协议的博文内容良莠不齐,很难让人根据文章内容来全面理解心率服务;此外SIG网站上有关心率服务的文档比较多,内容比较碎,需要读者从多个文档中将需要的内容拼接起来,因此写下这…

typescript 对象数组和函数

typescript 对象数组和函数 对象 在JavaScript中,对象属于非原始类型。对象也是一种符合数组类型,由若干个对象属性构成。对象属性可以是任意数据类型,比如数组,函数或者对象等。当对象属性为函数的时候,称为方法。 …

Linux基础之yum和vim

目录 一、软件包管理器yum 1.1 软件包的概念 1.2 软件包的查看 1.3 软件包的安装和删除 二、Linux编辑器之vim 2.1 vim的基本概念 2.2 正常模式(命令模式) 2.3 底行模式 2.4 输入模式 2.5 替换模式 2.6 视图模式 2.7 总结 一、软件包管理器yu…

【架构系列】RabbitMQ应用场景及在实际项目中如何搭建可靠的RabbitMQ架构体系

作者:后端小肥肠 创作不易,未经允许禁止转载。 1. 前言 RabbitMQ,作为一款高性能、可靠的消息队列软件,已经成为许多企业和开发团队的首选之一。它的灵活性和可扩展性使得它适用于各种应用场景,从简单的任务队列到复杂的分布式系统…

实验八 Java 语言输入和输出程序设计练习(课内实验)

一、实验目的 本次实验的主要目的是练习使用Java语言的输入与输出流类,实现文件的处 理。 二、实验要求 1.认真阅读实验内容,完成实验内容所设的题目 2.能够应用多种编辑环境编写JAVA语言源程序 3.认真体会输入与输出的概念和方法 三、实验内容…

k8s调度原理以及自定义调度器

kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernete…

ubuntu搭建kms服务器

1.下载kms开源包(如果提示找不到wget命令的话:apt install wget): wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz2.解压: tar -xzvf binaries.tar.gz接着cd 进入 Linux/intel/static/ 文件夹下: 3.选择对应的文件,这里我们选…

手撕spring框架(5)

手撕spring框架(5) 相关系列 手撕spring框架(1) 手撕spring框架(2) 手撕spring框架(3) 手撕spring框架(4) 这是本专题最后一节了,主要是讲述自定义一个注解,实…