我需要编写一个函数来查找矩阵中单元格(行,列)的“深度”。
给定任何 nxm 矩阵mat = ones(6,6)
,例如..
mat =
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
结果将是:
thick =
1 1 1 1 1 1
1 2 2 2 2 1
1 2 3 3 2 1
1 2 3 3 2 1
1 2 2 2 2 1
1 1 1 1 1 1
其中“1”是可能的最小厚度,定义边缘单元。每个额外的周围单元格增加 +1 厚度。如果 NAN 在边界上,则需要将它们视为“边缘”……但我想我可以在以后构建它。
想法?任何帮助表示赞赏。谢谢!
编辑:
删除了我原来的编辑,需要重新考虑我原来的问题。基本上我想找到矩阵中最深的单元格。矩阵不必是规则的,可以有孔。通常,这将使用多边形并找到适合该多边形内的最大圆的直径来完成,但我不确定在 MATLAB 中实现它的效率如何。嗯……