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

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

目录

前言

一、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.mzph.cn/pingmian/6565.shtml

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

相关文章

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.选择对应的文件,这里我们选…

C++:继承-继承权限

在C中,类的权限分为公有、私有和保护三种。这些权限控制了类的成员(数据成员和成员函数)对外部代码的可见性和访问性。 公有(public)权限: 在公有权限下声明的成员可以被类的外部代码直接访问;公…

第十篇:深入文件夹:Python中的文件管理和自动化技术

深入文件夹:Python中的文件管理和自动化技术 1 文件系统基础操作 在今天的技术博客中,我们将深入探讨Python中的文件系统基础操作。文件系统对于任何操作系统都是不可或缺的组成部分,它管理着数据的存储、检索以及维护。Python通过其标准库中…

【Linux 进程】 自定义shell

目录 关于shell 1.打印提示符&&获取用户命令字符​编辑 2.分割字符串 3.检查是否为内建命令 cd命令 export命令 echo命令 1.输出最后一个执行的命令的状态退出码(返回码) 2.输出指定环境变量 4.执行外部命令 关于shell Shell 是计算机操…

免费开源,无需 GPU,本地化部署大语言模型的对话系统

免费开源,无需 GPU,本地化部署大语言模型的对话系统 分类 编程技术 项目名: FreeAskInternet -- 本地化部署大语言模型的对话系统 Github 开源地址: https://github.com/nashsu/FreeAskInternet FreeAskInternet 是一个免费开源的工具&am…

Kotlin: Expecting a ‘>‘

数组值为任意类型&#xff0c;声明报错: Kotlin: Expecting a > var anyArr1: Array<Any?> arrayOf("a", "b", "c", true, 34)原因是&#xff1a; // var anyArr1: Array<Any?> arrayOf("a", "b", "c…

发电厂智能巡检机器人:让发电厂更安全、更高效

在发电厂的众多应用场景中&#xff0c;升压站、化学车间、空冷塔、输煤皮带、综合管廊等&#xff0c;一直以来都是人工巡检的主战场。然而&#xff0c;这些场所环境极为复杂&#xff0c;人工巡检面临着诸多难题&#xff0c;强度大、频率低、间隔长等问题突出。这使得设备在运行…

c++多线程基础

简介 c多线程基础需要掌握这三个标准库&#xff1a;std::thread, std::mutex, and std::async。 1. Hello, world #include <iostream> #include <thread>void hello() { std::cout << "Hello Concurrent World!\n"; }int main() {std::thread…

[NSSCTF]prize_p2

题目 打开是一段js代码 // 导入所需的模块 const { randomBytes } require(crypto); // 导入 crypto 模块&#xff0c;用于生成随机字节 const express require(express); // 导入 Express.js 模块&#xff0c;用于构建 Web 应用程序 const fs require(fs); // 导入文件系…

论文笔记:(Security 22) 关于“二进制函数相似性检测”的调研

个人博客链接 注&#xff1a;部分内容参考自GPT生成的内容 [Security 22] 关于”二进制函数相似性检测“的调研&#xff08;个人阅读笔记&#xff09; 论文&#xff1a;《How Machine Learning Is Solving the Binary Function Similarity Problem》&#xff08;Usenix Securi…

Golang中实现调用Windows API向指定目标发送ARP请求

简介 Go库中很多实现的arp都是支持osx/linux/bsd之类的&#xff0c; 但几乎没有支持windows的&#xff0c; 也试了一些方式&#xff0c; 目前还是选用调用windows的API&#xff0c; 记录一下这一次windows的API的调用经验。 实现 代码 package main/* #cgo CFLAGS: -I. #cgo …

Reactor模型详解

目录 1.概述 2.Single Reactor 3.muduo库的Multiple Reactors模型如下 1.概述 维基百科对Reactor模型的解释 The reactor design pattern is an event handling pattern for handling service requests delivered concurrently to a service handler by one or more inputs.…

OpenCV如何模板匹配(59)

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV如何实现背投(58) 下一篇 &#xff1a;OpenCV在图像中寻找轮廓(60) 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 matchTemplate()搜索图像贴片和输入…

第四篇:记忆的迷宫:探索计算机存储结构的奥秘与创新

记忆的迷宫&#xff1a;探索计算机存储结构的奥秘与创新 1 引言 1.1 计算机存储系统的发展与重要性 在现代计算技术中&#xff0c;存储系统承担着非常关键的角色&#xff0c;它不仅负责信息的持久保存&#xff0c;同时确保高效的数据访问速度&#xff0c;影响着整体系统性能的…

《Fundamentals of Power Electronics》——基础交流建模方法

PWM整流器小信号交流模型建模的主要步骤为&#xff1a; (a)利用小纹波近似的动态版本&#xff0c;建立与电感和电容波形的低频平均值有关的方程&#xff1b; (b)平均方程的扰动和线性化&#xff1b; (c)交流等效电路模型的建立。 以下图buck-boost电路为例进行分析。 首先测…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑碳捕集和电转气的综合能源系统优化调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

SpringBoot与SpringMVC的区别

SpringBoot与SpringMVC的区别是什么&#xff1f; SpringBoot和SpringMVC是Java开发中常用的两个框架&#xff0c;它们都是由Spring框架所提供的&#xff0c;但在功能和使用方式上有着一些区别。本文将分别介绍SpringBoot和SpringMVC的特点和区别。 一、SpringBoot的特点&#…

Qt服务器端与客户端交互

Qt做客户端与服务器端交互第一步引入network 第一步引入network后继续编程首先界面设计 创建server和socket 引入QTcpServer&#xff0c;QTcpSocket MainWindow.h代码如下 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpServer&…

13_Qt中的快捷键

Qt Creator的一些快捷操作&#xff1a; 项目管理&#xff1a; Build&#xff1a;以增量方式构建项目。Rebuild&#xff1a;重新构建项目。Clearn&#xff1a;清除项目构建过程中产生的所有中间文件。Run qmake&#xff1a;使用qmake/cmake重新构建项目。会重新执行UIC、MOC、…

如何面对并发下的bug

整理总结自蒋炎岩老师的b站课程&#xff0c;https://jyywiki.cn/OS/2022/index.html 并发bug与应对 应对bug的方法 在代码里边增加很多检查(加断言) #include "thread.h"unsigned long balance 100;void Alipay_withdraw(int amt) {if (balance > amt) {usleep(…