Output from while-loop at fixed values
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Arjan Marelis
el 16 de Mzo. de 2020
Comentada: Arjan Marelis
el 16 de Mzo. de 2020
I am running time-dependent simulations with variable time-step size dt in seconds. I have implemented a while-loop that updates the elapsed time t_elapsed as t_elapsed + dt and stops when t_elapsed > t_total where t_total is a predefined number in seconds. Now I want to output the solution (a vector) to a text file at every x seconds, i.e. every 3600 seconds. This problem throws me of my game a bit as dt is now variable. Any help is much appreciated.
Arjan
0 comentarios
Respuesta aceptada
dpb
el 16 de Mzo. de 2020
Either compute the number of timesteps corresponding to your dt and desired frequency if dt is constant and output every N timesteps:
N=Tout/dt;
if mod(iterNo,N)==0
fprintf(fid,data)
end
or, alternatively, test the time variable modulo Tout is within dt. ismembertol might be of interest here for floating point comparisons.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!