2016-08-18 38 views
0

私は一連の.matファイルを持っています。それらはすべて姿勢によってオブジェクトに力を与えます。私はそれらをSimulinkシミュレータにロードしたいのですが、一度に1つずつ、適切な名前を指定してください。Matlab&Simulink - Simulinkシミュレータで特定の.matを読み込みます。

私はMatlab関数で試してみましたが、関数 "load"をSimulinkで使用できないかのように動作していないようです。

誰かがアイデアを持っていれば、私は感謝しています!

+0

MATLAB Functionブロックからの外部関数を使用し、その関数からloadを呼び出します。 – Navan

答えて

0

スコープに関する問題が発生しており、.matファイルが正しいワークスペースに読み込まれていない可能性があります。デフォルトでは、Simulinkはベースワークスペースを使用して変数を検索します。関数が返ってきて、ここに正しい変数を設定していることを確認してください。通常は、これを達成するためにスクリプトを使用する方が簡単です。

これは、望ましくないかもしれないベースワークスペースを利用することを意味します。データをカプセル化したままにしたい場合は、masked subsystemを生成し、マスクの初期化スクリプト内からパラメータをロードすることができます。これは、マスクされたサブシステム内の任意のブロックがアクセス可能な変数を定義する。

0

このリンクをチェックアウト: https://in.mathworks.com/help/simulink/ug/functions-supported-for-code-generation--categorical-list.html

を私はここでは関係のものを引用します:

- 使用Simulink®のシミュレーションのためのMEXまたはコードを生成する場合にのみ。

- コンパイル時の定数をロードするには、coder.loadを使用します。

- 構造体または配列に代入されていない関数の使用はサポートされていません。たとえば、load(filename)ではなく、S = load(filename)を使用します( では使用できません)。

- 出力Sは、添え字のない構造体または配列の名前でなければなりません。たとえば、S(i)= load( 'myFile.mat')は許可されません。

- ロードする引数は、コンパイル時定数の文字ベクトルでなければなりません。

- オブジェクトの読み込みをサポートしていません。

-MATファイルにサポートされていない構文が含まれている場合は、load(filename、variables)を使用してサポートされている構文のみを読み込みます。

- コード生成用の関数ではsaveを使用できません。コードジェネレータは、保存機能をサポートしていません。さらに、 は、saveでcoder.extrinsicを使用することはできません。コードを生成する前に、 はsaveを使用してワークスペースデータをMATファイルに保存できます。

- load関数を使用してロードされた可変サイズのデータ​​を明示的に宣言するには、coder.varsizeを使用する必要があります。

関連する問題