コード生成のためのevalinの代替方法について

simulink におけるビルド時に matlab functionブロックにてコード生成時にエラーが発生しています。
エラーが発生している箇所は下記のような箇所であり、C/C++コード生成においてサポートされていないevalinを使用しているためです。
やりたいことは ベースワークスペースのある変数B、を関数ワークスペース変数Aに入力したいです。
コマンド上は右のような形:変数A = evalin('base',変数B);
前述のようなevalinの代替方法に関してお教え願います。
matlab function,matlab r2015b ,

 採用された回答

Yoko
Yoko 2019 年 6 月 6 日

1 投票

ベースワークスペースの値を MATLAB Function 内で使用するということであれば、MATLAB Function の入力引数として取り込むことで、利用可能になります。
下記のような形で使えます。
function y = fcn(x,'変数A')
y = 変数A * x;
入力引数として定義するには、MATLAB Functionエディタにある 'データの編集' を開き、変数を追加し、取り込みたい変数名を定義して、スコープを 'パラメータ' に設定します。
関連ドキュメントが、下記ドキュメントページにもあります。

1 件のコメント

sshhssmm
sshhssmm 2019 年 6 月 6 日
回答ありがとうございます。頂きましたアドバイスに応じて、MATLAB Function を修正し、対応したところ、問題なくビルドでき、出力値の妥当性も確認できました。
早急回答ありがとうございます。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchangeコード生成 についてさらに検索

製品

リリース

R2015b

質問済み:

2019 年 6 月 4 日

コメント済み:

2019 年 6 月 6 日

Community Treasure Hunt

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

Start Hunting!