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

9 Ansichten (letzte 30 Tage)
KS
KS am 23 Feb. 2022
Kommentiert: KS am 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

Akzeptierte Antwort

Hernia Baby
Hernia Baby am 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 Kommentar
KS
KS am 25 Feb. 2022
ありがとうございました。無事解決しました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 変数 finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!