Azzera filtri
Azzera filtri

picking maximum difference across entries of row vectors, Part 2

6 visualizzazioni (ultimi 30 giorni)
Now A is a table with the first column has the date data. (not a variale)
Please advise how to proceed in this general case.
for each row, take a difference between every possible pair of two elements in the row and returns the maximum difference
In a simpler case where A is a matrix, if A= [1 3 6 7 10], then B=[9].

Risposte (2)

Matt J
Matt J il 6 Giu 2018
result = max(A{:,2:end},[],2)-min(A{:,2:end},[],2)
  5 Commenti
Matt J
Matt J il 30 Apr 2021
Modificato: Matt J il 30 Apr 2021
Well, if A is a matrix then max(A,[],2) will give the row-wise maximum of A and similarly for min(). So, if your goal is to obtain a row vector containing the differences between the row-wise max and min of a matrix A, then it would simply be,
p = ( max(A,[],2)-min(A,[],2) ).'
You don't need the indexing A(1:end,:) when A is a matrix. My original answer was intended for when A is a table.

Accedi per commentare.


Aakash Deep
Aakash Deep il 6 Giu 2018
Hello,
In order to find out the maximum difference between two elements in a row vector, you can first sort it and then take the difference between the last and the first element.
vec = sort(A);
B = vec(end)-vec(1);
Hope this helps :)
  3 Commenti
Stephen23
Stephen23 il 6 Giu 2018
Modificato: Stephen23 il 6 Giu 2018
@alpedhuez: If you post a follow-up question please put a link to the original question. It helps us to keep track of what information or answers you have already been given, and what extra clarifications or data you have given us about the question.

Accedi per commentare.

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by