How can I read a complex number vector?
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
André Luiz Regis Monteiro
le 11 Fév 2014
Modifié(e) : JasonLuo
le 25 Jan 2018
Hi, I have this problem. I'm trying to read a complex number vector from a txt file using this structure:
fid=fopen ('VarName4.txt','r');
acorrente=fscanf(fid,'%f');
fclose (fid);
VarName4.txt is a vector 1000x1 like this:
[0.0141451080390089-0.00224036502008852i
0.0141451080390089-0.00224036502008852i
0.0141451080390089-0.00224036502008852i
0.0141451080390089-0.00224036502008852i...]
Using the structure before, the answer is:
acorrente =
0.0141
-0.0022
Why it doesn't work? Could someone teach me? Thanks a lot!
2 commentaires
José-Luis
le 11 Fév 2014
It doesn't work because you are telling fscanf to expect a floating point number. Fscanf won't read in imaginary numbers.
Réponse acceptée
Mischa Kim
le 11 Fév 2014
Modifié(e) : Mischa Kim
le 11 Fév 2014
André Luiz, this should do:
fid = fopen ('VarName4.txt','r');
ii = 1;
while ~feof(fid)
acorrente(ii, :) = str2num(fgets(fid));
ii = ii + 1;
end
fclose(fid);
...read each line of the text file, convert it from string to number and save it in the matrix. The loop will keep reading until the end of the file ( feof ) is reached.
Plus de réponses (1)
JasonLuo
le 25 Jan 2018
Modifié(e) : JasonLuo
le 25 Jan 2018
Use dlmread or textscan https://stackoverflow.com/questions/20538049/reading-complex-data-in-matlab-from-a-file
0 commentaires
Voir également
Catégories
En savoir plus sur Low-Level File I/O dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!