max and min value of matrix
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ashvin Hamzah Driwantara
am 6 Jan. 2017
Beantwortet: Zeeshan Salam
am 24 Mär. 2019
I have AB matrix that contains 3000x2000 grids data.
AB =
(1,1) (1,2) (1,3) (1,4) ... (1,3000)
(2,1) (2,2) (2,3) (2,4) ... (2,3000)
(3,1) (3,2) (3,3) (3,4) ... (3,3000)
(4,1) (4,2) (4,3) (4,4) ... (4,3000)
(5,1) (5,2) (5,3) (5,4) ... (5,3000)
...
...
...
(2000,1)
I want to calculate (MAX-MIN) value for each 3x5 grids in matrix AB
For Example :
If target grid is (3,2), I use 15 grids data (1~5,1~3) for calculation of MAX and MIN.
And if MAX is (1,1) and MIN is (2,3), then (MAX-MIN) at (3,2) is ((1,1)-(2,3)).
In the same way, if target grid is (3,3), I use (1~5,2~4).
Can you help me to make automatic script to calculate this??
2 Kommentare
Stephen23
am 6 Jan. 2017
@Ashvin Hamzah Driwantara: your question is not clear. Please edit your question and provide us with complete input and output examples so that we can write and test code.
Akzeptierte Antwort
Stephen23
am 6 Jan. 2017
Bearbeitet: Stephen23
am 6 Jan. 2017
blockproc might do what you want:
>> X = rand(3000,2000);
>> Xmax = blockproc(X,[3,5],@(s)max(s.data(:)));
>> Xmin = blockproc(X,[3,5],@(s)min(s.data(:)));
>> Xdif = Xmax - Xmin;
5 Kommentare
Stephen23
am 6 Jan. 2017
@Ashvin Hamzah Driwantara: have a look at my revised answer. You will need to change the function inside the anonymous function:
@(s)std(s.data(:))
Weitere Antworten (4)
Ashvin Hamzah Driwantara
am 6 Jan. 2017
6 Kommentare
Stephen23
am 6 Jan. 2017
Bearbeitet: Stephen23
am 7 Jan. 2017
@Ashvin Hamzah Driwantara: your explanation is not clear. If each block does not generate one value, then you will need to explain in more detail, and provide input and output sample matrices so that we can test code. Until you provide a clear explanation of what you want there is nothing more that I can do for you.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
