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

9 ビュー (過去 30 日間)
KS
KS 2022 年 2 月 23 日
コメント済み: KS 2022 年 2 月 25 日
現在、連番の.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

採用された回答

Hernia Baby
Hernia Baby 2022 年 2 月 25 日
あまり使いたくない手ですが、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 件のコメント
KS
KS 2022 年 2 月 25 日
ありがとうございました。無事解決しました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange変数 についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!