当前位置: 首页 > news >正文

matlab使用App designer生成可独立运行的app(预测模型为BP神经网络模型)

语言:matlab(2019b)

需求:建立标准模型+生成独立运行的app

我用的是神经网络模型,不管是用Neural Net Fitting还是自己编写的语言建模型都可以 

步骤1:确定模型

第一种在Neural Net Fitting中生成标准模型

点击MATLAB Function生成一个mat文件,里面有神经网络模型的确定好的参数以及计算过程,可以用来sim(预测新数据),保存好,在接下来的APP designer中粘贴就可使用

第二种是自己编写语言,在确定模型的性能满足要求后,会生成一个net文件,在命令行中输入genFunction(net),点击edit neural_function,会生成一个mat文件,和第一种一样,里面有神经网络模型的确定好的参数以及计算过程,可以用来sim(预测新数据),保存好,在接下来的APP designer中粘贴就可使用。

 

步骤2:生成APP

点击APP——设计APP,就会来到APP designer页面,APP页面的设计根据自己的需求不同而不同,

我的APP界面如下所示

即通过输入指标1和指标2的信息,点击预测,就可以得到指标3,所以就需要给预测这个按钮添加回调函数

回调函数的代码如下:

            zhibiao1 = app.zhibiao1.Value;zhibiao2 = app.zhibiao2.Value;x1 = [zhibiao1;zhibiao2];
%%%%%%%%%%下面就是复制之前保存的mat文件% Map Minimum and Maximum Input Processing Functionfunction y = mapminmax_apply(app,x,settings)y = bsxfun(@minus,x,settings.xoffset);y = bsxfun(@times,y,settings.gain);y = bsxfun(@plus,y,settings.ymin);endfunction a = tansig_apply(app,n,~)a = 2 ./ (1 + exp(-2*n)) - 1;end% Map Minimum and Maximum Output Reverse-Processing Functionfunction x = mapminmax_reverse(app,y,settings)x = bsxfun(@minus,y,settings.ymin);x = bsxfun(@rdivide,x,settings.gain);x = bsxfun(@plus,x,settings.xoffset);end% Input 1x1_step1.xoffset = [0;0];x1_step1.gain = [0.08;18];x1_step1.ymin = -1;% Layer 1b1 = [4.8697254287099784875;-2.4882560824952739686;-0.36923234375395630469;-1.6479640937456923044;0.076033540942494731718;1.7768178470712105987;-2.1749711342434334682;-1.2800683739258014171;-8.1453336571734453742];IW1_1 = [-2.9658698356906483262 1.4152827550382862665;1.1778160715591086127 2.9835128429731812005;4.5396727325931678365 -1.4436246781382722215;5.798451185034708466 -3.9341452607258244889;0.99776959019748212576 -1.9661747213104450172;-3.353972426038168031 -5.6016376738435234017;-0.86845333187114648332 -1.4712339145509327754;0.82382489179520568268 0.68267387824753422709;-7.2570357014649244931 5.0437917571569110819];% Layer 2b2 = 0.29345702936620149393;LW2_1 = [0.21030797287596961209 -0.0082297989762547540948 -0.31226881060498956622 0.053153450790120918001 0.18463368434364510473 0.11205284882480856523 1.1050240221821621134 0.26372241694958975522 -0.075607567410209949865];% Output 1y1_step1.ymin = -1;y1_step1.gain = 0.00859811885827281;y1_step1.xoffset = -2.22067035483374;% ===== SIMULATION ========% DimensionsQ = size(x1,2); % samples% Input 1xp1 = mapminmax_apply(app,x1,x1_step1);% Layer 1a1 = tansig_apply(app,repmat(b1,1,Q) + IW1_1*xp1);% Layer 2a2 = repmat(b2,1,Q) + LW2_1*a1;% Output 1y1 = mapminmax_reverse(app,a2,y1_step1);
%%%%%%%%%%%%%设置返回指标3的值app.shelf_life.Value = y1;

可以再加入一个初始值的设定,点击组件浏览器——回调——StartupFcn

  app.zhibiao1.Value = 0;app.zhibiao2.Value = 0;app.zhibiao3.Value = 240

步骤3打包程序

在命令窗口中输入applicationCompiler,这里可以选择软件的图标,保存路径,独立于matlab运行与否等等

添加程序,点击Package

然后等待就可以了

是不是超简单&&&&&&&&hhhhhh

 


http://www.taodudu.cc/news/show-5696976.html

相关文章:

  • Verilog基础语法——条件语句if-else与case
  • 齐护K210系列教程(二十七)_语音识别
  • PyTorch的基础用法简介
  • 《探索图像处理的无限可能:从技术突破到未来应用》
  • GoF之代理模式(静态代理+动态代理(JDK动态代理+CGLIB动态代理带有一步一步详细步骤))
  • ffmpeg7.0 + visual studio 2022 release lib 静态库编译使用
  • 解决微信小程序中在其他页面无法使用app.js中获取的userInfo或openid的问题
  • 微信小程序关于utils.js 需要使用app.js 的全局变量,怎么做?
  • 使用App Ops修改APP隐藏权限(Android)
  • 在matlab中使用APP designer创建多窗口APP
  • WPF教程(十)使用App.xaml
  • 使用AppUploader上传ipa文件到APPstore
  • 网络提速器 v1.1 免费
  • 使用 mamba 提速 conda
  • Sqoop提速性能调整
  • android 9.0 后台录音,不限制1分钟
  • Android多媒体之照相、录音、录像之视图横拉
  • Android6.0以下判断手机录音和相机权限
  • html5录音兼容性,详解HTML5 录音遇到的坑
  • php手机网页在线录音ios,iOS 实现录音功能
  • 备忘录想要查看录音时长怎么办?
  • c语言密码登录
  • C语言求鞍点
  • C语言工程创建
  • 【C语言总结篇】新起点
  • Linux如何写C语言
  • 更改administrator名称
  • git本地配置用户名_git配置全局用户名
  • 【笔记】Win10 安装系统跳过创建用户,直接启用 Administrator
  • 好听的歌曲 那一天
  • 网络四大黑之中奖
  • 各大名企的笔试面试题
  • 抢厕纸也能抢到这么感人?
  • 荣耀猎人游戏本什么时候发布 荣耀猎人游戏本配置曝光
  • 学计算机华硕天选,内行人解读华硕天选air,看后才知道这么强
  • 最新华硕linux一体电脑,华硕一体机电脑哪款好 华硕一体机电脑排名