i want to calculate the maximum of vectors éléments and its position using the diff command, can any one help me ?

2 Comments

Why not just use max? Since it does exactly what you claim to want.
diff as applied to a vector will not help you here.
diadalina
diadalina on 29 Nov 2018
it is another way to calculate the max ?

Sign in to comment.

 Accepted Answer

[value,index]=max(vector) %use max which does exactly what you want

7 Comments

diadalina
diadalina on 29 Nov 2018
Edited: diadalina on 29 Nov 2018
thank you madhan ravi for your answer but i want with diff, if you can help me , thank you.
Jan
Jan on 29 Nov 2018
@diadalina: Accepting an answer means, that the problem is solved.
The diff command is not useful to find the maximum value.
diadalina
diadalina on 29 Nov 2018
no, it is, when we calculate the sign of the difference between two successive numbers.
madhan ravi
madhan ravi on 29 Nov 2018
Edited: madhan ravi on 29 Nov 2018
Anytime :) @diadalina , thank you Jan
But it depends upon the monotonicity of the vector also so like John and Jan suggests it's not useful
diadalina
diadalina on 30 Nov 2018
mr ravi what do you want to say by the monotonicity of the vector can you more explain to me please ?
Jan
Jan on 3 Dec 2018
Edited: Jan on 3 Dec 2018
@diadaline: Use these three inputs:
a = rand(1, 10)
b = 1:10
c = 10:-1:1
While using max() is easy here, there is no chance to use diff() to find a maximum value. But here, diff can be useful:
d = sin(0:0.001:pi)
Here you have the additional knowledge, that the elements are monotonically increasing and decreasing. Together with this knowledge diff can be used:
find(diff(d) <= 0, 1, 'first')
max() is more useful, because it works in the general case also.
thank you mr Jan, now it is clear for me.

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

on 29 Nov 2018

Edited:

on 4 Dec 2018

Community Treasure Hunt

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

Start Hunting!