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.

 采纳的回答

diff(data(2:end))

5 个评论

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)

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Import and Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by