for loop 内での連続するcsv​ファイル生成を別々に​保存したい

for i = 1:5
U = (s*lambda)/(4*pi*sin(pi/6));
csvwrite('U.csv',U);
end
上記のスクリプトだと U.csv というファイルに i = 5 での U データが入るだけになってしまいます。
そこで、i = 1 のときは i = 1 での U のデータを U(1).csv として保存、i = 2 のときは i = 2 での U のデータを U(2).csv として保存、というように毎回出てくる U を別々のcsvファイルに保存したいのですが、どうすればいいでしょうか。

 Réponse acceptée

Kojiro Saito
Kojiro Saito le 27 Oct 2022

1 vote

sprintf('U(%d).csv', i)のようにファイル名でiの値を使えば実現できます。
R2022bではcsvwriteが非推奨なので、writematrixを使っています。また、iは虚数を表す関数名であり変数名が競合してしまうので、ここではnを使っています。
for n = 1:5
U = (s*lambda)/(4*pi*sin(pi/6));
writematrix(U, sprintf('U(%d).csv', n));
end

1 commentaire

雅晶
雅晶 le 1 Nov 2022
解決しました。ありがとうございます。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur ループと条件付きステートメント dans Centre d'aide et File Exchange

Produits

Version

R2022b

Community Treasure Hunt

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

Start Hunting!