picking maximum difference across entries of row vectors, Part 2

3 views (last 30 days)
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].

Answers (2)

Matt J
Matt J on 6 Jun 2018
result = max(A{:,2:end},[],2)-min(A{:,2:end},[],2)
  5 Comments
Matt J
Matt J on 30 Apr 2021
Edited: Matt J on 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.

Sign in to comment.


Aakash Deep
Aakash Deep on 6 Jun 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 Comments
Stephen23
Stephen23 on 6 Jun 2018
Edited: Stephen23 on 6 Jun 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.

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!