如何在MATLAB中取消填充矩阵?

时间:2018-06-18 16:48:34

标签: matlab matrix

m = [0 65 34 0; 0 55 8 19; 89 0 0 10]
m_padded = padarray(m,[4,4],0,'both')

我刚刚m_padded,我正在尝试找到一个创建m的函数?我想找到find的索引并在边框上添加零,但我怎样才能有效地做到这一点?

1 个答案:

答案 0 :(得分:2)

使用find提取mm_padded的行和列下标。现在使用minmax分别查找mm_padded的行和列的起始和结束下标。使用这些下标生成索引以提取m

[r, c] = find(m_padded); 
unpadded_m = m_padded(min(r):max(r), min(c):max(c));

以上代码适用于任何大小和任何方向的填充;无论是prepost还是both

相关问题