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

6 vues (au cours des 30 derniers jours)
SS
SS le 4 Août 2022
Commenté : Shoumei le 14 Août 2022
simulinkでmat fileを複数読み込むのにfrom file blockだと多すぎるので、MATLAB Functionを使用したいです。
loadを使っても読み込めないので、方法があったら教えてください。
  1 commentaire
Shoumei
Shoumei le 12 Août 2022
試しにやってみたら普通にできましたが、エラーが出ている場合はそれも書いていただくと回答が付きやすいと思います。

Connectez-vous pour commenter.

Réponses (1)

Shoumei
Shoumei le 12 Août 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 commentaires
SS
SS le 14 Août 2022
続けて申し訳ないのですが、時系列でデータを出力したいと考えています。
何度か試しているのですが、データが時間ごとに出力されるのではなく、プログラム開始するとデータがすべて出力されてしまいます
Shoumei
Shoumei le 14 Août 2022
すいませんが、仰られていることがよく理解できていません。 具体的にどういうことがやりたいのか書いてもらっても良いでしょうか?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Simulink Function dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!