AppDesigne​rで作成したアプリの​起動時に読み込んだデ​ータが使えない

12 次查看(过去 30 天)
和神 水ノ江
和神 水ノ江 2021-9-8
現在、AppDesignerで作成したアプリ上で事前に学習が完了している機械学習の分類を行おうとしています。
その際、アプリ起動時にこの学習済みのモデルを読み込む処理を行い、ボタンを押すと分類が始まるシステムの開発をしていますが上手くできません。
function startupFcn(app)
load("sample.mat",'decoderNet','encoderNet');
end
function ButtonPushed(app, event)
prediction(app,encoderNet,decoderNet);
end
sample.matにはdecorderNet,encoderNetが保存してあり、predictionは分類を行う関数です。
このpredictionの部分で「関数または変数 'encoderNet' が認識されません。」とエラーが返されます。
これは最初のsample.matが読み込めていないということでしょうか?

采纳的回答

Kojiro Saito
Kojiro Saito 2021-9-8
decorderNetencoderNetがApp Designerのfunctionの中でのローカル変数になってしまって他の関数から認識されていない状態のようです。
「コードビュー」の左側の「コードブラウザー」からプロパティを追加し、
properties (Access = private)
end
の中に
decoderNet
encoderNet
の2行を追加してみてください。
こんなイメージです。
そして2つの関数を以下のように変更します。
function startupFcn(app)
load("sample.mat",'decoderNet','encoderNet');
app.decoderNet = decoderNet;
app.encoderNet = encoderNet;
end
function ButtonPushed(app, event)
prediction(app, app.encoderNet, app.decoderNet);
end
これでいけるはずです。
  2 个评论
和神 水ノ江
和神 水ノ江 2021-9-8
ご回答していただきありがとうございます。
こちらの実装で無事に動かすことができました。
Kojiro Saito
Kojiro Saito 2021-9-8
解決できて良かったです。
App Designerはappというルート変数がコールバック関数から共通でアクセスできます。
ドキュメントだとこの辺りに説明がありました。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 App Designer を使用したアプリ開発 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!