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

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

Réponse acceptée

Yoko
Yoko le 6 Juin 2019
ベースワークスペースの値を MATLAB Function 内で使用するということであれば、MATLAB Function の入力引数として取り込むことで、利用可能になります。
下記のような形で使えます。
function y = fcn(x,'変数A')
y = 変数A * x;
入力引数として定義するには、MATLAB Functionエディタにある 'データの編集' を開き、変数を追加し、取り込みたい変数名を定義して、スコープを 'パラメータ' に設定します。
関連ドキュメントが、下記ドキュメントページにもあります。
  1 commentaire
sshhssmm
sshhssmm le 6 Juin 2019
回答ありがとうございます。頂きましたアドバイスに応じて、MATLAB Function を修正し、対応したところ、問題なくビルドでき、出力値の妥当性も確認できました。
早急回答ありがとうございます。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink Function dans Help Center et File Exchange

Produits


Version

R2015b

Community Treasure Hunt

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

Start Hunting!