ループ処理の中で、繰​​り返し番号つきのフ​ァ​イル名でデータを​ロードするにはどうし​たらよ​いでしょうか​?

7 visualizaciones (últimos 30 días)
ichiro obayashi
ichiro obayashi el 20 de Mayo de 2017
Comentada: ichiro obayashi el 20 de Mayo de 2017
t_0001~t_0500というデータがあり、これを連続でロードしたいと考えています。 データ内に文字と数字が混在していても連続処理は可能でしょうか?

Respuesta aceptada

mizuki
mizuki el 20 de Mayo de 2017
ファイル名に文字と数字が混在している場合、数字を文字列として認識させる必要があります。数字を文字列に変換するには INT2STR 関数あるいは例えば '0' のように数字を直接シングルクォート ' で囲みます。
次のようなコードでいかがでしょうか。
for i=1:500
if (i < 10) % 10未満なら 00 を初めにつける
num = ['00', int2str(i)];
elseif(i < 100) % 10-99 なら 0 を初めにつける
num = ['0', int2str(i)];
else
num = int2str(i);
end
filename = ['t_0', num];
load(filename)
end
余談ですが、並列計算のツールボックス Parallel Computing Toolbox をお持ちの場合、FOR を PARFOR に変更することで、並列読み込みができます。読み込み時間が膨大にかかっている場合には時間短縮ができます。
  1 comentario
ichiro obayashi
ichiro obayashi el 20 de Mayo de 2017
ありがとうございました。 上記の通りのコードで連続処理できました。 この様な簡単な質問にも丁寧にお答えて頂きまして感謝いたします。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre データ型の変換 en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!