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

simulinkでmat fileを複数読み込むのにfrom file blockだと多すぎるので、MATLAB Functionを使用したいです。
loadを使っても読み込めないので、方法があったら教えてください。

1 Kommentar

Shoumei
Shoumei am 12 Aug. 2022
試しにやってみたら普通にできましたが、エラーが出ている場合はそれも書いていただくと回答が付きやすいと思います。

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Shoumei
Shoumei am 12 Aug. 2022

0 Stimmen

読み込めないのは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 Kommentare

SS
SS am 14 Aug. 2022
返信が遅くなり申し訳ありません。
回答をいただき、ありがとうございます。
複数のmatfileを読み込んで、出力する変数(y0,y1,y2)ではなく、一つだけにしたいです。
助言を頂いければ幸いです。
SS
SS am 14 Aug. 2022
続けて申し訳ないのですが、時系列でデータを出力したいと考えています。
何度か試しているのですが、データが時間ごとに出力されるのではなく、プログラム開始するとデータがすべて出力されてしまいます
Shoumei
Shoumei am 14 Aug. 2022
すいませんが、仰られていることがよく理解できていません。 具体的にどういうことがやりたいのか書いてもらっても良いでしょうか?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu 対話型のモデル編集 finden Sie in Hilfe-Center und File Exchange

Produkte

Gefragt:

SS
am 4 Aug. 2022

Kommentiert:

am 14 Aug. 2022

Community Treasure Hunt

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

Start Hunting!