simulinkでMATLAB Functionを用いたmat fileの読み込み方法

6 visualizzazioni (ultimi 30 giorni)
SS
SS il 4 Ago 2022
Commentato: Shoumei il 14 Ago 2022
simulinkでmat fileを複数読み込むのにfrom file blockだと多すぎるので、MATLAB Functionを使用したいです。
loadを使っても読み込めないので、方法があったら教えてください。
  1 Commento
Shoumei
Shoumei il 12 Ago 2022
試しにやってみたら普通にできましたが、エラーが出ている場合はそれも書いていただくと回答が付きやすいと思います。

Accedi per commentare.

Risposte (1)

Shoumei
Shoumei il 12 Ago 2022
読み込めないのはloadコマンドに出力引数を付けていないからでしょうかね?
以下のようにやったら出来ますので、お試しあれ
まず2つのmatファイルを作成します。
A = [1:3]
B = 2
C = 3
D = [4:8]
save('test0.mat', 'A', 'B')
save('test1.mat', 'C', 'D')
MATLAB Functionブロック内に以下のように書きます。
function [y0, y1, y2, y3] = fcn
persistent param0 param1
if isempty(param0)
% ファイルアクセスは最初の1回だけとするためにpersistent変数に代入
% ここは最初の1回しか実行されない
param0 = load('test0.mat');
param1 = load('test1.mat');
end
y0 = param0.A;
y1 = param0.B;
y2 = param1.C;
y3 = param1.D;
結果
  3 Commenti
SS
SS il 14 Ago 2022
続けて申し訳ないのですが、時系列でデータを出力したいと考えています。
何度か試しているのですが、データが時間ごとに出力されるのではなく、プログラム開始するとデータがすべて出力されてしまいます
Shoumei
Shoumei il 14 Ago 2022
すいませんが、仰られていることがよく理解できていません。 具体的にどういうことがやりたいのか書いてもらっても良いでしょうか?

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!