假设你有A跟n片(这里我只是做10每片10,但是这是可以改变任何尺寸):
A = rand(10,10,n);
Run Code Online (Sandbox Code Playgroud)
您可以将其重新整形为n列矩阵,然后取每列的最大值:
[val,ind] = max(reshape(A,[],n),[],1);
Run Code Online (Sandbox Code Playgroud)
第一个输出val将是具有所有最大值的n元素向量,第二个输出ind将是重新整形的行索引A.
然后你得到切片的大小:
sz = size(A);
Run Code Online (Sandbox Code Playgroud)
并使用它来查找每个切片中每个最大元素的row(r)和column(c):
[r,c] = ind2sub(sz(1:2),ind)
Run Code Online (Sandbox Code Playgroud)
所以在这个例子中(使用rand和10x10x6数组A)你会得到类似的东西(但是有不同的值):
val =
0.99861 0.98895 0.98681 0.99991 0.96057 0.99176
r =
9 7 3 8 2 9
c =
1 1 8 10 10 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
524 次 |
| 最近记录: |