How to find the difference between non-consecutive values

How do I use diff() to find the difference between a certain number of indices? Furthermore, how do I turn the datetime into seconds to find the rate of X over time.
e.g., I have a datetime array t and another array X. I want to find the difference between every two elements of X and find the rate.
t1 = datetime(2013,11,1,8,0,0);
t2 = datetime(2013,11,5,8,0,0);
t = t1:t2
X = 1:5:25
for i = 1:2:length(X)
A = diff(X(i))/diff(seconds(t(i)))
end
However, I get an empty array in A.

 Réponse acceptée

Voss
Voss le 1 Avr 2024
Modifié(e) : Voss le 1 Avr 2024
t1 = datetime(2013,11,1,8,0,0);
t2 = datetime(2013,11,5,8,0,0);
t = t1:t2
t = 1x5 datetime array
01-Nov-2013 08:00:00 02-Nov-2013 08:00:00 03-Nov-2013 08:00:00 04-Nov-2013 08:00:00 05-Nov-2013 08:00:00
X = 1:5:25
X = 1x5
1 6 11 16 21
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
A = diff(X(1:2:end))./seconds(diff(t(1:2:end)))
A = 1x2
1.0e-04 * 0.5787 0.5787
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

Plus de réponses (0)

Catégories

Produits

Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by