Toolboxを使っ​て作成したコードをA​ppDesinger​でアプリ化して配布す​る方法

3 views (last 30 days)
Tomoyasu KAMIYA
Tomoyasu KAMIYA on 21 May 2024
Commented: Tomoyasu KAMIYA on 22 May 2024
Symbolic Math ToolboxとControl System Toolboxに含まれる関数をつかってAppDesingerでアプリを作りました。
このアプリを、Webアプリとして配布する場合、サーバーとして使うマシンはどのような準備をする必要があるでしょうか?
①アプリを使ったバージョンに対応したMATLABランタイムのインストール
②WebAppServerのインストール
だけでよいでしょうか?
③toolboxのインストール(MATLAB本体も??)
も必要でしょうか?その他必要な準備があれば教えてください。
なお、現状①②だけの状態でWebアプリを実行したところうまく動作しません。
以下のようなエラーメッセージが出ています。
ーーーーーエラーメッセージ(ここから)ーーーーーーーー
2024-05-21 21:19:55 関数または変数 'syms' が認識されません。
2024-05-21 21:19:55 エラー: functionCalcTFpole_ATT (行 8)
2024-05-21 21:19:55 エラー: functionCalcRVN (行 42)
2024-05-21 21:19:55 エラー: calcRVNv04/myPushBotton12 (行 384)
2024-05-21 21:19:55 エラー: appdesigner.internal.service.AppManagementService/executeCallback (行 138)
2024-05-21 21:19:55 エラー: matlab.apps.AppBase>@(source,event)executeCallback(appdesigner.internal.service.AppManagementService.instance(),app,callback,requiresEventData,event) (行 63)
2024-05-21 21:19:55 使い方によるエラー matlab.ui.control.internal.controller.ComponentController/executeUserCallback
2024-05-21 21:19:55 Button PrivateButtonPushedFcn の実行中にエラーが発生しました。
ーーーーーエラーメッセージ(ここまで)ーーーーーーーー
なお、functionCalcTFpole_ATTとfunctionCalcRVN とcalcRVNv04/myPushBotton12は私が作った関数の名前です。
以上よろしくお願いいたします。

Accepted Answer

Kojiro Saito
Kojiro Saito on 22 May 2024
インストールは①と②だけで十分です。MATLAB RuntimeをインストールすればWebアプリを動かすのに必要なToolbox一式がインストールされます。
symsのエラーは、Symbolic Math Toolboxのsyms関数がMATLAB Compilerのコンパイルに対応していないためです。
回避策としては、symsを使用したシンボリック方程式をmatlabfunctionコマンドを使ってsymsを使わない数式に変換された.mファイルにします。こちらの.mファイルをWebアプリコンパイラに含めればWebアプリに変換できます。
  1 Comment
Tomoyasu KAMIYA
Tomoyasu KAMIYA on 22 May 2024
ご回答ありがとうございます。
エラーの原因を勘違いしていたようです。
ありがとうございました。
私のコードの中で、symsを使っている部分が例としてお示しいただいたようなsymsを使わない数式に変換できるのか良くわかりませんが、本質問の範囲を超えてくると思いますので一旦クローズといたします。

Sign in to comment.

More Answers (0)

Categories

Find more on ビッグ データの処理 in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!