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

17 vues (au cours des 30 derniers jours)
KS
KS le 23 Fév 2022
Commenté : KS le 25 Fév 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

Réponse acceptée

Hernia Baby
Hernia Baby le 25 Fév 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 commentaire
KS
KS le 25 Fév 2022
ありがとうございました。無事解決しました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 変数 dans Help Center et File Exchange

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!