cannot save quadrature data

1 次查看(过去 30 天)
I have this kind of data
{1 + 2i
3 + 4i
2 + 7i
....}
I used fprintf to save the above
file_name = fopen('data.txt','w');
fprintf(file_name, '%s\r\n', data);
fclose(file_name)
I got data.txt and theronly exist the real value
like
1
3
2
....
not the
1 + 2i
3 + 4i
2 + 7i
...
How to save this data type properly?

采纳的回答

Walter Roberson
Walter Roberson 2020-8-7
file_name ='data.txt';
fid = fopen(file_name, 'w');
fprintf(fid, '%.17e%+.17ei\r\n', [real(data.'); imag(data.')]);
fclose(fid)
I deliberately did not put a space between the real and imaginary parts: some parsing software can only detect the imaginary part as being part of the same number if there is no space. You can put a space before %+ if you want.
If you need a space after the sign for the complex part, then that would need more work.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Functions 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by