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

現在、連番の.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 日

0 投票

あまり使いたくない手ですが、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 件)

カテゴリ

ヘルプ センター および File Exchange変数 についてさらに検索

製品

リリース

R2020b

質問済み:

KS
2022 年 2 月 23 日

コメント済み:

KS
2022 年 2 月 25 日

Community Treasure Hunt

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

Start Hunting!