MATファイル Version 7.3 を使った「変数の一部の読み込みまたは保存」機能を使っています
- 繰返し数を5回、Aを1行10列のダミー値とします
- Aは固定サイズの行ベクトルで、列数が変化する事は想定していません
- MATファイルがあるのに変数Aが記録されていない場合は想定していません。
filename = 'myFile.mat'; % 同じmatファイルに自動で保存
matObj = matfile(filename,'Writable',true); % MATファイルにアクセスする為のオブジェクト
if isfile(matObj.Properties.Source) % 既存のMATファイルに追記する場合
[nrows,ncols] = size(matObj,'A'); % 追記する為、Aのサイズを取得
else % 初めて記録を開始する場合
save(filename,'-v7.3'); % 新たにMATファイルを作成
nrows = 0;
end
rpn = 5; % input("繰返し数を入力:"); % 実行は最初に実行回数を設定
for k = 1:rpn % その数だけ自動で実行できる
A = rand(1,10); % 行ベクトルの変数 A (ダミー値:ここをAの取得関数に変更する)
nrows = nrows + 1; % 追記する行数を計算
matObj.A(nrows,1:size(A,2)) = A; % Aを前の実行時に得られた行ベクトルにそのまま追加
end