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ファイルに保存したいのですが、どうすればいいでしょうか。

 Risposta accettata

Kojiro Saito
Kojiro Saito il 27 Ott 2022

1 voto

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 Commento

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

Accedi per commentare.

Più risposte (0)

Prodotti

Release

R2022b

Community Treasure Hunt

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

Start Hunting!