連番の.matファイ​ルを結合する方法を教​えてください。

16 visualizzazioni (ultimi 30 giorni)
KS
KS il 23 Feb 2022
Commentato: KS il 25 Feb 2022
現在、連番の.matファイルを結合しようとしています。
result1.matにはresult1という変数名の1000行10列の配列が入っています。result100.matまでも同様です。
下記のコードを試したところ、
result_totalにはresult1result2result3…result100というstring型のデータが生成されてしまいました。
7行目でmatrixnameがloadしたワークスペース変数ではなく、string型のデータとして認識されているのが原因だということは分かるのですが、
どうすればワークスペース変数として認識させることができるかが分かりません。
ご教示のほどよろしくお願いいたします。
divN=100;
result_total=[];
for n=1;divN
filename=['result',num2str(n),'.mat'];
load filename;
matrixname=['result',num2str(n)];
result_total=cat(2,result_total,matrixname);
end

Risposta accettata

Hernia Baby
Hernia Baby il 25 Feb 2022
あまり使いたくない手ですが、eval を使います
divN=100;
result_total=[];
for n=1;divN
filename=['result',num2str(n),'.mat'];
load filename;
matrixname=['result',num2str(n)];
ここでevalを用います。
result_total=cat(2,result_total,eval(matrixname));
end
他にはloadの仕方を工夫するなど代替方法がありますのでご参考に
  1 Commento
KS
KS il 25 Feb 2022
ありがとうございました。無事解決しました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 変数 in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!