MATLAB: Cannot save quadrature data

quadrature

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?

Best Answer

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.