How to write a for loop that saves every 100th value?
Mostra commenti meno recenti
I have a code that has a for loop that calculates the eccentricity of an orbit as time passes, and I need to plot the results. Saving every single value of accentricity would be very large task, so I need to save every 100th value of eccentricity, along with the corresponding time, to some type of file.
This is what I have so far but it very much doesn't work, any advce would be greatly appreciated.
m = 0;
for i = 1: m
m = m + 1;
if m == 100
C{i} = emag;
C2{i} = t;
E(i,1) = emag;
E(i,2) = t;
matrixToWrite = [t emag];
writematrix(matrixToWrite, 'myData.txt')
m = 0;
t = t + delta;
end
end
4 Commenti
Rik
il 30 Apr 2021
Please don't post duplicate questions. If someone is already helping you, posting a second question with the same content is a waste of time.
Lauren Miller
il 30 Apr 2021
Rik
il 30 Apr 2021
In general you can do that by editing the question instead of posting a new one.
Lauren Miller
il 30 Apr 2021
Risposta accettata
Più risposte (1)
EmirBeg
il 30 Apr 2021
0 voti
First of all you set m=0 and then start a loop from 1 to m. So i guess your loop does nothing.
You need to set a new variable for the amount of iterations your loop will go through. After that you should also set m to 0 again in your If-statement so you get a value every 100th iteration and not just the 100th.
2 Commenti
EmirBeg
il 30 Apr 2021
I realise that you already added the m=0 in your If-statement or i was blind and didn't see it.
This should still be changed:
m = 0;
t = 5000; %amount of times you go through the loop
for i = 1: t
m = m + 1;
if m == 100
%...
end
end
Lauren Miller
il 30 Apr 2021
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!