Simulink内で2点境界値問題を解く方法
2 ビュー (過去 30 日間)
古いコメントを表示
Simulink内で2点境界値問題を解く方法をご存じでしたら教えていただけませんか。
以下、私が困っているエラーや対策案です。
1.2点境界値問題のソルバー 'bvp4c'を含むSimulinkのプログラムを実行すると、「関数 'bvp4c' はコード生成でサポートされていません。」というエラーが出る
対策1-1 コード生成を回避したいが、方法が分かりません。
対策2-1 coder.extrinsic('bvp4c'); として 'bvp4c' を外部関数として定義する。
2.関数ハンドルは外部関数に渡せない。
対策2-1を行うと、1のエラーは回避できるが、sol = bvp4c(@(x,y)odefun(x, y, z), @bcfun, lG); のような箇所で「関数ハンドルは外部関数に渡せない」というエラーが出ます。
0 件のコメント
採用された回答
交感神経優位なあかべぇ
2023 年 11 月 5 日
もっとも簡単な回避方法は、コード生成が必要ない処理を外部ファイル(.mファイル)の関数にしてしまい、その関数に対して「coder.extrinsic('〇〇');」としてしまうことかなぁと思います。
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Android Devices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!