Error while using writematrix to save complex values in a .txt
6 views (last 30 days)
Show older comments
Hello, I have a very basic script that reads in around 15000 complex values from a .csv file, does some basic data manipulation and saves it into a .txt file using writematrix. However, it seems the values with a negative imaginary component (i.e. in the form of a-bi) are being saved into the .txt as a+-bi. Calling a readmatrix on this file saves these values as NaN and I cannot proceed. Any ideas? A segment of the code follows along with the exported file values.
%% 1. .csv file to table to array
%% 2-4: Modify values by basic division, rss, etc
%% 5. Export data
writematrix(signal_d_prime, 'signal_modified.txt', 'Delimiter', ' ')
%% Check
readmatrix('signal_modified.txt')
0 Comments
Accepted Answer
Jeremy
on 4 Dec 2019
Edited: Jeremy
on 4 Dec 2019
csvwrite
Does this correctly. I will look into writematrix
4 Comments
Jeremy
on 26 May 2021
Edited: Jeremy
on 26 May 2021
What version of MATLAB are you using? The issue with writematrix described in this post was fixed in R2020b. If you are using an older version I would recommend updating. If you are using a recent version and still running into an issue I would recommend making a separate question post.
XYC
on 9 Jan 2022
Hello Jeremy, I have the same problem when I call writematrix to write the matrix into a txt file and I use R2021a, any solution to this?
More Answers (1)
Kristijan
on 25 Sep 2024
I had the same problem with strange negitiated imaginary values. The writematrix function seems the work , but if you put an transpose a complex vector the imaginary part gets negotiated. The result is then saved with this reverted imaginary value. For example complex vector xvec. When u save the with writematrix(xvec',"matrix.txt") the stored values have negative complex entries.
0 Comments
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!