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

📄 find_max.m

📁 对矩阵里的元素进行搜索
💻 M
字号:
function B=find_max(A,n)
%该函数查找任意维数矩阵中绝对值最大的 n 个元素
%矩阵A只能是n*n的方阵,n是元素绝对值最大的个数
%该函数能处理具有相同元素的矩阵A

%maked by Li_Ming_Quan on 2007-9-22 
tic                            %测定运行时间开始  
B=zeros(size(A));              %生成要存放的矩阵B
L=abs(A);                      %对矩阵A的每个元素取绝对值
M=reshape(L,1,numel(A));       %将矩阵L变为行向量
for i=1:numel(M)-1             %将相同的元素清零,只留下一个值
for j=i+1:numel(M)
if M(i)==M(j)
M(j)=0;
end
end
end
M=sort(M,'descend');           %处理后按降序排列
R=M(n);                        %取出绝对值最大n个元素的最小值
V=M(find(M>=R));               %确定绝对值最大的n个元素
for i=1:n;
[S,T]=find(V(i)==L);           %取出这n个元素的位置
for j=1:size(S)
B(S(j),T(j))=A(S(j),T(j));     %取出绝对值最大n个元素赋给矩阵
                               %B,其余为零
end
end
toc                            %测定运行时间结束

⌨️ 快捷键说明

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