我在matlab中使用imfilter来计算两个矩阵A和H之间的卷积。我的代码是
B=imfilter(A,H,'replicate');
但结果B出现了一些复杂的值(例如:1 + 3i)。我想从矩阵B中删除复数值(但B的二聚体不会改变)。所以,我的问题是如何在matlab中删除矩阵B的复数值或者类似的方法当我计算B + C时如何忽略它们,其中C是输入实矩阵(我只想计算两个矩阵B和C中实数值的和) )
答案 0 :(得分:0)
您可以使用B
获取real(B)
的实际值
如果您想要条目的大小(而不仅仅是实际部分),您可以使用abs(B)
要获得虚部,您可以使用imag(B)
。
因此,对于复杂矩阵B
,您可以使用
B = real(B) + j*imag(B);
或
B = abs(B).*exp( j*angle(B) );