local_maxima.m
来自「利用电磁场的源激发方法来计算光子晶体波导例如光子晶体光纤」· M 代码 · 共 35 行
M
35 行
% Find local maxima in matrix m, edges are excluded
% [mi, mj] = local_maxima(m)
function [mi, mj] = local_maxima(m)
[r,c] = size(m);
mi = [];
mj = [];
ind_m=1;
if (r==1) || (c==1)
m = m(:);
L =length(m);
for ind = 2:L-1
u = m(ind);
neigh = [m(ind-1) m(ind+1)];
if sum(u > neigh) == 2
mi(ind_m) = ind;
mj(ind_m) = ind;
ind_m = ind_m +1;
end
end
return
end
ind = 1;
for indi = 2:r-1
for indj = 2:c-1
u = m(indi, indj);
neigh = [m(indi-1, indj-1) m(indi+1, indj+1) m(indi-1, indj+1) m(indi+1, indj-1) ...
m(indi, indj-1) m(indi, indj+1) m(indi-1, indj) m(indi+1, indj)];
if sum(u >= neigh) == 8
mi(ind) = indi;
mj(ind) = indj;
ind = ind +1;
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?