MATLAB:fprintf中复杂的矩阵,以txt文件

问题描述:

让说我有一个复杂的矩阵:MATLAB:fprintf中复杂的矩阵,以txt文件

A = [3-3i 3.2 3.1 2.2212; 2.31-8i 9.9i 0.12i 2.23i;9.1i 9 9.999 0.12;1.2i 1.8i 8 9.0001]; 

如何打印这个复杂的矩阵划分成txt文件?我尝试: fprintf(fid, [repmat('%.8f\t', 1, size(A, 2)) '\n'], A');

但它只打印实数。

+0

这是那些你必须非常小心你如何调换你的数据的情况之一。 '''运算符是[复共轭转置](https://www.mathworks.com/help/matlab/ref/ctranspose.html)(它交换行和列*和*否定虚部)和' ''运算符是常规[转置](https://www.mathworks.com/help/matlab/ref/ctranspose.html)(它只是交换行和列)。你**几乎总是**想使用'。''。 – gnovice

您可以输出的实部和虚部单独这样的:

fprintf(fid, [repmat('%.8f%+.8fi\t', 1, size(A, 2)) '\n'], ... 
     [real(reshape(A.', 1, [])); imag(reshape(A.', 1, []))]);