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

t_0001~t_0500というデータがあり、これを連続でロードしたいと考えています。 データ内に文字と数字が混在していても連続処理は可能でしょうか?

 채택된 답변

mizuki
mizuki 2017년 5월 20일

3 개 추천

ファイル名に文字と数字が混在している場合、数字を文字列として認識させる必要があります。数字を文字列に変換するには 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

ichiro obayashi
ichiro obayashi 2017년 5월 20일
ありがとうございました。 上記の通りのコードで連続処理できました。 この様な簡単な質問にも丁寧にお答えて頂きまして感謝いたします。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 データ型の変換에 대해 자세히 알아보기

제품

질문:

2017년 5월 20일

댓글:

2017년 5월 20일

Community Treasure Hunt

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

Start Hunting!