max and min value of matrix
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2017 年 1 月 6 日
@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.
採用された回答
Stephen23
2017 年 1 月 6 日
編集済み: Stephen23
2017 年 1 月 6 日
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 件のコメント
Stephen23
2017 年 1 月 6 日
@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(:))
その他の回答 (4 件)
Ashvin Hamzah Driwantara
2017 年 1 月 6 日
6 件のコメント
Stephen23
2017 年 1 月 6 日
編集済み: Stephen23
2017 年 1 月 7 日
@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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!