⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findnlargest.m

📁 多种数字水印的算法实现数字水印的matlab例程.rar
💻 M
字号:
function INDEX = FindNLargest(X, N)
%FINDNLARGEST Find largest values in a matrix or a vector
%   INDEX = FINDNLARGEST(X, N) find the N largest values of X
%   and returns their indices in X.

%   Fabien A.P. Petitcolas 27-11-97
%   Copyright (c) 1997 by the University of Cambridge
%   $Revision: 0.2$

% Naive and slow implementation :-(

% Put all the elements of the matrix in a vector
n=size(X);
for i=1:n(1)
   for j=1:n(2)
      tmp(j+(i-1)*n(2)) = X(i,j);
   end
end

% Sort the element of the vector
[tmp, index] = sort(tmp);
l = length(index);

% Take the N largest
for k=1:N
   j = mod(index(l+1-k),n(2));
   if j==0
      j = n(2);
   end
   i = floor((index(l+1-k) - 1) / n(2)) + 1;
   INDEX(1,k) = i;
   INDEX(2,k) = j;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -