How to write the loop to collect data every step I want

5 次查看(过去 30 天)
I have M-file with dt = .1,dt= .01,dt=.001 I want to have the data is collected every 1 step for dt =.1, every 10 steps fro dt=.01, and 100 steps for dt=.001
the code start:
for i=-1:-1:-3
dt=10^i
step = 100
....... ..... the lot of code after this
....
I want to have all data to be collected at certain step size in the same M-file, in the code above it collects data every 100.
steps for all dt.
Thanks
  3 个评论
Sean de Wolski
Sean de Wolski 2012-2-9
What do you mean by "data collected"? Do you have a data acquisition device that you're sampling from? Are you calculating data at every time step? Are you reading files that are being generated concurrently with the function running?
Please elaborate.
Phong Pham
Phong Pham 2012-2-9
dt is time step , step is where I will collect the data ,
example i run some loop j= 0:dt:20 to calculate something, I will have a large number of data , So I want to collect the data at certain step not collecting the whole thing.

请先登录,再进行评论。

采纳的回答

Dr. Seis
Dr. Seis 2012-2-9
You basically want to collect a sample at every 0.1 increment in time(?).
Setup a counter before your "for" loop and initialize to 0 i.e.,
counter = 0;
Then inside your for loop, where ever you perform computations for some period of time, you could add this:
for j = 1 : N
% your code for calculating value at each time step
if (mod(j-1,0.1/dt) == 0
counter = counter+1;
data(counter) = whatever_value_you_want;
end
end
Where "N" is the number of time steps. The above will save a value at the first time step and then every 0.1/dt time step(s) thereafter.
  5 个评论
Dr. Seis
Dr. Seis 2012-2-9
Also, I should clarify that the "for" loop I mentioned above is located inside the "for" loop you specified, which changes the value of "dt".

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by