From Workspaceブロックの使い方について

27 次查看(过去 30 天)
松
2024-8-4,2:18
回答: Atsushi Ueno 2024-8-4,4:16
以前エディターで宣言した変数を,Simscape内でも使用できるブロックとしてFrom Workspaceブロックを紹介していただきました.そのブロックを使用してシミュレーションを実行しようとしたところ,どうしてもエラーが出てしまいます.改善方法が分かる方がいれば教えていただきたいです.よろしくお願いします.
私が作成したコード,Simscapeモデルを添付します.このコード内の「i」をSimscapeに渡して使用したいのですが,次のエラーが毎回出てしまいます.
「エラー:From Workspace ブロック 'model/From Workspace' でサポートされていない入力形式です。入力データは、timeseries や timetable などのサポートされている形式を使用する必要があり、Inf 値または NaN 値を含んでいてはなりません。」

回答(1 个)

Atsushi Ueno
Atsushi Ueno 2024-8-4,4:16
From Workspace ブロックの出力は「信号」なので、時系列データが必要です。
入力データを n 行 2 列の行列にすれば入力可能になります。
  • n:Simulinkモデルのシミュレーションステップ数
  • 1列目:時間 (Simulinkモデルの時間と一致する事)
  • 2列目:データ (定数ならすべて同一データ)
【参考】下記コードは、Simulinkファイルである”LoadDataUsingTheFromWorkspaceBlockExample”の”Create **** data to load”ボタン内に書いてあるコードで、From Workspace ブロックによりワークスペースから各種データ型の正弦波信号データを取り込みます。
sampleTime = 0.01;
numSteps = 1001;
time = sampleTime*[0:(numSteps-1)];
time = time';
data = sin(2*pi/3*time);
timeseries 型のデータを用意するなら
simin = timeseries(data,time);
時間付き構造体のデータを用意するなら
simin.time = time;
simin.signals.values = data;
timetable 型のデータを用意するなら
secs = seconds(time);
simin = timetable(secs,data);
行列(2次元配列)データを用意するなら
simin = [time,data];

标签

产品


版本

R2024a

Community Treasure Hunt

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

Start Hunting!