How to read complex number from a *.csv file?

32 views (last 30 days)
Ngoc
Ngoc on 5 Dec 2013
Commented: sixwwwwww on 5 Dec 2013
Hi,
I have to import a data set from a csv file but I cannot find any way to import the complex number from the file to Matlab to do the data processing. I try to search on the internet but no solutions are helpful. I tried importdata, csvread, textread,... but they didn't work. Can anyone show me how to solve this problem? I attached part of my csv file below. I really need help. Thanks

Answers (2)

sixwwwwww
sixwwwwww on 5 Dec 2013
you can do it as follows:
[num, str, raw] = xlsread('filename.csv');
a = str2num(cell2mat(raw));
  5 Comments
Ngoc
Ngoc on 5 Dec 2013
Here it is. This is only a small part that I cut from the file, which is too large to upload here.
sixwwwwww
sixwwwwww on 5 Dec 2013
Use the following code on your data. It will work fine. I checked it for your sample data:
[num, str, raw] = xlsread('filename.csv');
rawval = double(cellfun(@(x) ~isnumeric(x), raw));
a = zeros(size(raw));
b = a;
a(rawval == 0) = cell2mat(raw(rawval == 0));
b(rawval == 1) = str2double(raw(rawval == 1));
Matrix = a + b;
I hope it helps. Good luck!

Sign in to comment.


G A
G A on 5 Dec 2013
https://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/239213

Community Treasure Hunt

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

Start Hunting!