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

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

 Accepted Answer

Yoko
Yoko on 6 Jun 2019

1 vote

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

1 Comment

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

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2015b

Asked:

on 4 Jun 2019

Commented:

on 6 Jun 2019

Community Treasure Hunt

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

Start Hunting!