How can I find the difference between adjacent elements while ignoring the first value?

I have the following column vector.
data = randperm(100,15)';
Is there a way of using the "diff" function to find the difference between adjacent elements while ignoring the first one? In other words, I would like the calculation to start with elements 2 and 3 then 4 and 5 etc.
Appreciate the help! Thanks.

 Réponse acceptée

diff(data(2:end))

5 commentaires

:) 🙏
As easy as that! Thank you. Safe to say I'm still very much learning!
Sorry, just a quick follow-up question to this, @Stephen Cobeldick. If my vector has 14 elements, is there a way of returning only 7 difference values instead of 13? I mean to say I only want to find the difference between element 1 and 2 then skip ahead to elements 3 and 4 (skipping the difference between elements 2 and 3). Hope that makes sense. Again, really appreciate the feedback.
Where vec is your vector of 14 elements:
out = vec(2:2:end)-vec(1:2:end)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Import and Analysis dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by