如何使用 MATLAB 读取文件中的复数

How can I read a complex number with MATLAB in a file

我需要用 MATLAB 读取一个 txt 文件的值,文件在这里:

-0.933475 0.358642
-1 6.12323e-17

但我对这个值 6.12323e-17 有一些问题,在 matlab 中,当我阅读它时,该值是 0.0000

这里是 MATLAB 代码:

close all; clear;
arquivo = fopen('fftOut.txt');
formatSpec = '%f %f';
sizeA = [2 inf];
X = fscanf(arquivo,formatSpec, sizeA);
X'
fclose(arquivo);

输出为

   -0.9335    0.3586
   -1.0000    0.0000

我该如何处理0.0000

提前致谢

它不是 0,当 matlab 打印矩阵时,它对所有元素使用相同的符号,因此打印的值被截断但存储的值没有被截断。

尝试只打印第二个数字的虚部。

您正在使用定点 %f。使用 %e 作为指数表示法。查看 mathwork 的网站:http://www.mathworks.com/help/matlab/matlab_prog/formatting-strings.html?refresh=true