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

6 Ansichten (letzte 30 Tage)
SS
SS am 4 Aug. 2022
Kommentiert: Shoumei am 14 Aug. 2022
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
読み込めないのは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
続けて申し訳ないのですが、時系列でデータを出力したいと考えています。
何度か試しているのですが、データが時間ごとに出力されるのではなく、プログラム開始するとデータがすべて出力されてしまいます
Shoumei
Shoumei am 14 Aug. 2022
すいませんが、仰られていることがよく理解できていません。 具体的にどういうことがやりたいのか書いてもらっても良いでしょうか?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simulink Function finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!