コード生成のための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!