cannot save quadrature data

1 view (last 30 days)
NoYeah
NoYeah on 7 Aug 2020
Answered: Walter Roberson on 7 Aug 2020
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?

Accepted Answer

Walter Roberson
Walter Roberson on 7 Aug 2020
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.

More Answers (0)

Categories

Find more on Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!