提示:文章为系列文章,可以在对应学习专栏里面进行学习。对应资源已上传
目录
前言
Appdesigner是MATLAB中进行软件开发的部分,可以创建exe文件,脱离MATLAB的运行环境,生成独立的App。本文首先介绍了Appdesigner是什么,并介绍了两个功能的程序设计方法,第一个是程序界面之间的切换功能,另一个是程序数据的导入和保存功能。之后,博主会介绍更多的Appdesigner程序设计技巧和功能,并上传示例资源,大家可以根据实际需求拓展使用示例程序。
一、Appdesigner是什么?
MATLAB中的Appdesigner是实现人机交互的重要平台,可以将程序和仿真进行封装,生成对应的App软件,是程序展示的一种重要形式。我们可以通过MATLAB进行程序的编写,但是程序的使用者有时并不需要了解程序的内部构成,更加关注程序的使用功能,因此需要一种良好的程序交互界面,也就是MATLAB中之前使用的GUI功能,但是相比之下,Appdesigner是以组件的形式自动生成程序,构建界面,更加的简便和高效,有取代GUI的趋势,因此掌握Appdesigner的编写技巧,构建良好的人机交互界面是一项重要的技能。
二、界面切换
界面切换的原很简单,就是创建一个按钮,增加相应的回调函数,通过关闭当前界面,打开对应的其他界面来实现界面之间的切换。下面展示相应的界面和程序
app1中界面切换按钮代码如下(示例):
app2;
delete(app);
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两种功能的设计方法,一个是界面的切换功能,另一个是数据的导入和保存功能。后续会逐步介绍更多的软件功能设计技巧并上传更多的资源。