Borrar filtros
Borrar filtros

File import

2 visualizaciones (últimos 30 días)
Sami
Sami el 23 de Jul. de 2011
Hallo,
I would like to import in Matlab a set of data, which originally is expressed in 4 columns: ex:
1490 3 2 0.
20094 1 2 0.
66779 4 2 0.
14293 3 2 0.
53990 1 2 0.
61190 4 2 0.
I want it to be imported as one column excluding the 4th columnm, and combining the 3 numbers for each row in one number like this:
1490*3*2
20094*1*2
66779*4*2
14293*3*2
53990*1*2
61190*4*2
How can I use the function textscan to do it? are there other ways to do it?
Thanks.
Sami
  1 comentario
Sami
Sami el 23 de Jul. de 2011
the stars are only to recognize the values the actual result i want is :
149032
2009412
6677942
1429332
5399012
6119042

Iniciar sesión para comentar.

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 23 de Jul. de 2011
Save your text in a file called 'test.txt'
a=importdata('test.txt');
a=a(:,1:3);
b=sprintf('%d%d%d\n',a')
c=str2num(b)
  2 comentarios
Sami
Sami el 24 de Jul. de 2011
but how do I assign the path? usually i do the text import like this ...
path = 'C:\Temp\';
file = 'test.txt';
head_lines = 19;
input_file= [path file_add];
fid = fopen(input_file,'r');
data_add = textscan(fid,'%f%f%f%f','Delimiter','\t','HeaderLines', head_lines);
fclose(fid);
Sami
Sami el 24 de Jul. de 2011
did it, thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Oleg Komarov
Oleg Komarov el 23 de Jul. de 2011
fid = fopen('yourpath.txt');
out = textscan(fid,'%f%f%f%*f','CollectOutput',1);
out = sum(bsxfun(@times, out{1}, [100 10 1]),2);
fid = fclose(fid);

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by