Retrieve the time that a certain value is reached within a time series.
48 views (last 30 days)
Show older comments
I am running a Simulink model and am changing constant to see how the system responds. I want to know what time the system reaches a certain value at each of the constants. I have same the time series to the work space but can not figure out how to extract the time at which the value becomes true.
0 Comments
Accepted Answer
goerk
on 12 Jan 2016
A simple way is to extract the data and the time as arrays
% create example data
d=1:100;
t=d/100;
ts = timeseries(d,t);
% define threshold
thr = 55;
data = ts.data(:);
time = ts.time(:);
ind = find(data>thr,1,'first');
time(ind) %time where data>threshold
3 Comments
More Answers (1)
Israel Vargas
on 13 Jan 2019
Hi, excelent way to find a value in vectors. I'm doing something similar. While I'm running the simulation (in real time) I would like to get the especific time when a diferent signal change to a especific value. I have tried to edit what your writed but with bad results. I suppose because the dimentions of the time and the voltage signals are changing while the simulation is running. Please help me!
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!