I want to get the difference between the present number and the previous number for 1000 set of data from the plot.

4 vues (au cours des 30 derniers jours)
For example,
I have considered 10 random values from the set of 1000 values
X-axis values are as given a = [ -9.658 -9.321 -8.979 -8.742 -8.247 -7.291 -6.738 -7.439 -8.733 -8.596 ]
Y-axis values are as given b = [134 135 136 137 138 139 140 141 142 143 ]
I want to consider each set of values and find the difference between the number and its previous number for example a2-a1,a3-a2,a4-a3.... till a1000-a999. Depending upon these values if its increasing(difference is positive) or decreasing(difference is negative) or constant(difference is zero) I have to find out the threshold value of the given set. Please help me with the code.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 22 Août 2022
Do you mean a2-a1,a3-a2,a4-a3,...., a1000-a999?
If so, use the diff function.
a = [ -9.658 -9.321 -8.979 -8.742 -8.247 -7.291 -6.738 -7.439 -8.733 -8.596 ];
c=diff(a)
c = 1×9
0.3370 0.3420 0.2370 0.4950 0.9560 0.5530 -0.7010 -1.2940 0.1370
  3 commentaires
Cris LaPierre
Cris LaPierre le 22 Août 2022
I don't understand why you need a while loop to do that. Diff uses exactly the formula you wrote.
Y = diff(X) calculates differences between adjacent elements of X along the first array dimension whose size does not equal 1:
  • If X is a vector of length m, then Y = diff(X) returns a vector of length m-1. The elements of Y are the differences between adjacent elements of X.
Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]

Connectez-vous pour commenter.

Plus de réponses (1)

the cyclist
the cyclist le 22 Août 2022
a = [2 3 5 7 11];
a - a' % All possible differences between pairs of elements of a
ans = 5×5
0 1 3 5 9 -1 0 2 4 8 -3 -2 0 2 6 -5 -4 -2 0 4 -9 -8 -6 -4 0
  7 commentaires
the cyclist
the cyclist le 23 Août 2022
OK. As you figured out, I guess, @Cris LaPierre's answer does exactly that.
I'm confused by your original question, though, which stated that you also needed non-consecutive differences, such as a(4) - a(1) = 5.
But, I'm glad you got it solved.
Surabhi A S
Surabhi A S le 23 Août 2022
Oh sorry. I'm sorry for that, I typed it by mistake.
Thank you for the help

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by