如何在matlab下提取矩阵中若干个最大值的点

2024-10-31 10:17:42
推荐回答(2个)
回答1:

a=[6,7,3,2,5
5,3,6,4,2
7,9,5,3,2
1,2,3,4,5
8,9,10,5,4]

[x,y]=sort(a(:))
a(y(1:end-5))=0

a =

0 7 0 0 0
0 0 0 0 0
0 9 0 0 0
0 0 0 0 0
8 9 10 0 0

因为你的矩阵中有两个7,程序自动去了第一个7,所以和你的结果有点不一样!

回答2:

max
求一个数组的最大元素函数。
用法
C = max(A)
返回一个数组各不同维中的最大元素。
如果A是一个向量,max(A)返回A中的最大元素。
如果A是一个矩阵,max(A)将A的每一列作为一个向量,返回一行向量包含了每一列的最大元素。
如果A是多为数组,max(A) treats the values along the first non-singleton dimension as vectors, returning the maximum value of each vector.
C = max(A,B)
返回一个和A和B同大小的数组,其中的元素是从A或B中取出的最大元素。
C = max(A,[],dim)
返回A中有dim指定的维数范围中的最大值。
[C,I] = max(...)
找到A中那些最大值的索引位置,将他们放在向量I中返回。如果这里有多个相同最大值时,返回的将是第一个的索引。