Saving a text file as a time step array
显示 更早的评论
Hi. I am writing a simulation that analyzes the X,Y,Theta cordinates of the system. I am running the simulation by TMAX and for N particles. However, since TMAX is usually very large, I only want the data for every 100 time steps. Currently, my code gives me the information for every time step and particle position. However, it spits all the information onto one matrix, IE if I am running a 12 particle simulation for 50 steps (short for the example), the first 12 rows are particles 1-12 and there positions at time=10. However, the next 12 rows are particles 1-12 at time=20 and so on. How would I make each time step into its own text file? Below is my code:
fid = fopen('word.txt','w');
for nn = 1:TMAX
if mod(nn,10)==0
x = x + vel*cos(theta)*dt;
y = y + vel*sin(theta)*dt;
fprintf(fid, '%4.5f\t%4.5f\t%4.5f\n', x,y,theta);
end
end
Thank you very much!
9 个评论
KSSV
2019-7-9
YOu want to write a seperate file for each step?
ben
2019-7-9
Anything is possible (with different amount of difficulty of course).
It's not clear how the snippet of code you show is relevant to your question. What you show will print TMAX/10 times the same thing, while wasting a lot of time doing iterations that don't print or calculate anything.
edit: I missed that x and y are a cumulative sum, so you are printing different things each time. However, you still waste a lot of time counting and not doing anything.
ben
2019-7-9
You haven't given us enough information for us to answer. Are the variables, x, y, vel, dt, theta scalars? Are any of them matrices? Where do the particles you mention figure into any of this.
Are the equations you show the actual equations. If so, why are you using a loop?
ben
2019-7-9
Guillaume
2019-7-9
I understand what you want to achieve. What I don't understand is what you start from. The code you show just add a constant (vel*cos(theta)*dt) each step of the loop. This could be rewritten as simply:
x0 = ???
x = (1:TMAX) .* vel*cos(theta)*dt + x0; %calculate x for 1*constant, 2*constant, etc.
which can then be easily sliced any way you want. Again, I don't see how the particles figure into this, so I'm not sure if that's what you're after.
ben
2019-7-9
Guillaume
2019-7-9
Would posting the entire code be helpful?
Probably, or a better explanation.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Entering Commands 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!