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

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

1 comentario

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

Iniciar sesión para comentar.

Respuestas (1)

Shoumei
Shoumei el 12 de Ag. de 2022

0 votos

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

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

Iniciar sesión para comentar.

Categorías

Más información sobre 対話型のモデル編集 en Centro de ayuda y File Exchange.

Productos

Preguntada:

SS
el 4 de Ag. de 2022

Comentada:

el 14 de Ag. de 2022

Community Treasure Hunt

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

Start Hunting!