Clear Filters
Clear Filters

max and min values in an array

1 view (last 30 days)
Anh Dao
Anh Dao on 7 Apr 2019
Commented: madhan ravi on 7 Apr 2019
thank you! Found the solution! Thank you!
  3 Comments
madhan ravi
madhan ravi on 7 Apr 2019
So as I understand you want to find the max value for each 16 rows ???
madhan ravi
madhan ravi on 7 Apr 2019
NO NO NO!!!!,Why did you delete all the contents of the question and the comments?, it's a terrible thing to do . Others may also benefit from the question.

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 7 Apr 2019
Edited: madhan ravi on 7 Apr 2019
See if this does what you want , first we split into 16 separate rows each and then we conquer in the third dimension:
[m,n]=size(A); % where A is your matrix of size 256 X 40K
parts = 16;
AA = permute(reshape(A.',n,m/parts,[]),[2,1,3]);
Max = max(AA,[],[1,2]); % max(max(AA)) for versions <= 2016b
[r,~]=find(AA == Max) % r represents rows
  6 Comments
Anh Dao
Anh Dao on 7 Apr 2019
Thank you, so I have a matrix A equal 256x40000
it was a mistake that I put in last time that i put parts = 15, sorry about that, so r should be correct right, what's the difference in the code you posted?
[m,n]=size(A)
parts = 16;
AA = permute(reshape(DoM.',n,m/parts,[]),[2,1,3]);
Max = max(AA,[],[1,2]);
[r,~]=find(AA == Max)
madhan ravi
madhan ravi on 7 Apr 2019
replace
[r,~]=find(AA == Max)
with
[r,c,p]=ind2sub(size(AA),find(AA==Max)) % r represents rows , c represents columns & p represents pages

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!