在matlab中忽略imfilter的实际值

时间:2013-12-03 08:32:25

标签: matlab

我在matlab中使用imfilter来计算两个矩阵A和H之间的卷积。我的代码是

B=imfilter(A,H,'replicate');

但结果B出现了一些复杂的值(例如:1 + 3i)。我想从矩阵B中删除复数值(但B的二聚体不会改变)。所以,我的问题是如何在matlab中删除矩阵B的复数值或者类似的方法当我计算B + C时如何忽略它们,其中C是输入实矩阵(我只想计算两个矩阵B和C中实数值的和) )

1 个答案:

答案 0 :(得分:0)

您可以使用B获取real(B)的实际值 如果您想要条目的大小(而不仅仅是实际部分),您可以使用abs(B) 要获得虚部,您可以使用imag(B)

因此,对于复杂矩阵B,您可以使用

对其进行分解
B = real(B) + j*imag(B);

B = abs(B).*exp( j*angle(B) );