How to converting complex numbers to absolute values?
Ältere Kommentare anzeigen
Hello Matlab experts
I have difficulty with my complex data file. I would appreciate if some one can help me with it. The issue is how to import csv files containing complex values (as seen below) into matlab and then convert them into absolute values and also remove parantesis. I treid several commands but did not succeed it :(
This is how data look like. I also attach it as csv file:
theta\phi[rad] 0j (0.010489457941869092+0j) (0.020978915883738184+0j)(0.00393683289923533+0j) (-1.1834597816970487+0j) (-1.1825728101249893+0j) (-1.1815870828154462+0j)(0.00787366579847066+0j) (-2.498909050828868+0j) (-2.5891527984935+0j) (-2.5591423614638047+0j)(0.01181049869770599+0j) (-2.7942230095552336+0j) (-3.8767443114429523+0j) (-3.7833384009620286+0j)
Thank you very much
2 Kommentare
Stephen23
am 30 Mai 2022
"This is how data look like."
In reality it looks like this, including alternating lines with empty fields:

Whoever invented that file format is intentionally trying to make everyone else's lives harder. They are not a happy person.
Masoud Taleb
am 30 Mai 2022
Bearbeitet: Masoud Taleb
am 30 Mai 2022
Akzeptierte Antwort
Weitere Antworten (1)
a = readcell('sample data.csv');
a{1} = 'NaN'
b = zeros(size(a));
for i=1:numel(a)
if isnumeric(a{i})
b(i) = a{i};
else
%a{i}
b(i) = eval(a{i});
end
end
b
Kategorien
Mehr zu Data Type Identification finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!