How to find the difference between non-consecutive values

6 vues (au cours des 30 derniers jours)
Joy
Joy le 1 Avr 2024
Modifié(e) : Voss le 1 Avr 2024
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

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by