Azzera filtri
Azzera filtri

Load .mat file

5 visualizzazioni (ultimi 30 giorni)
Alessandra Cuneo
Alessandra Cuneo il 12 Ott 2016
Commentato: Mostafa il 13 Ott 2016
Hi, I'm trying to import the .dat file attached in Matlab but I have a problem. I'm using the following command: fid=fopen('doe.dat','rt'); A= fscanf(fid, '%f'); fclose(fid);
but A is just equal to 9 insted of the two columns of number.
How I can load the two columns as a matrix?
Thanks Alessandra

Risposta accettata

Mostafa
Mostafa il 12 Ott 2016
Try this:
A = textscan(fid, '%s', 'Delimiter', ' ');
impData = A{1}; %%This cell contains your data
impData = impData (3:end); %%The data excluding the first two lines
strData = cellfun(@strsplit, impData, 'UniformOutput',0); %%Split data into two rows
numData = cellfun(@str2double, strData, 'UniformOutput',0); %%Convert to numeric values
matData = cell2mat(numData); %%Convert into a matrix
  3 Commenti
Mostafa
Mostafa il 13 Ott 2016
Can you upload the actual .dat file? I only considered the data in the picture as inupt.
Mostafa
Mostafa il 13 Ott 2016
You can add this line to remove the empty cells before splitting it into rows.
impData(cell2mat(cellfun(@isempty,impData,'UniformOutput',0))) = [];

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by