Matlab - dibujar matriz desde txt

 
Vista:

dibujar matriz desde txt

Publicado por Miren (4 intervenciones) el 14/06/2011 17:54:55
Hola,
tengo un archivo de esta forma:
Sweep Count;0;
Trace 1:;;
x-Unit;Hz;
y-Unit;dBm;
Values;501;
838000000;-91.3095703125;
838016000;-88.552345275878906;
838032000;-90.992301940917969;
838048000;-89.096534729003906;
838064000;-91.188346862792969;
838080000;-90.656707763671875;

Al principio son 26 lineas de texto que no me interesan para nada. A continuación son 500 lineas de datos separados por ;. me interesa poder separar los dos datos en diferentes arrays para poder dibujarlos con plot(x,y).
El caso es que consigo quitar las 26 lineas con C = textscan, pero me devuelve un cell array y no consigo dibujarlo. ademas estoy quitando el ; por espacio, y supongo que hay alguna manera que se haga automatica, pero no lo consigo.
Podría alguien ayudarme para poder separar las columnas en arrays?
Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE J EREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

dibujar matriz desde txt

Publicado por JOSE J EREMIAS CABALLERO (5917 intervenciones) el 14/06/2011 20:22:34
Hola.
archivo de texto con el nombre de importandodatatxt3.txt

Sweep Count;0;
Trace 1:;;
x-Unit;Hz;
y-Unit;dBm;
Values;501;
838000000;-91.3095703125;
838016000;-88.552345275878906;
838032000;-90.992301940917969;
838048000;-89.096534729003906;
838064000;-91.188346862792969;
838080000;-90.656707763671875;

PROGRAMA EN MATLAB
%=========================================
clear,
fid=fopen('importandodatatxt3.txt');
filas=6; % desde la fila 6
i=1;
while 1
linea=fgetl(fid);
if ~ischar(linea),
break;
end
if i>=filas
v=find(linea==';');
linea(v)=' ';
C(i-filas+1,:)=str2num(linea);
end
i=i+1;
end
fclose(fid);

format long
display(C)
figure(gcf)
plot(C(:,1),C(:,2))

%======================================


EJECUCION
%========================================
>> importandodatatxt3
C =
1.0e+008 *
8.380000000000001 -0.000000913095703
8.380160000000000 -0.000000885523453
8.380319999999999 -0.000000909923019
8.380480000000000 -0.000000890965347
8.380640000000000 -0.000000911883469
8.380800000000001 -0.000000906567078
%==========================================

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

dibujar matriz desde txt

Publicado por Dave (1094 intervenciones) el 14/06/2011 21:52:34
Hola Miren;

Te paso un script para leer los datos de tu archivo, principalmente debe definir el numero de lineas que no deseas leer y el delimitador (en tu caso es el signo ; ), tus datos se almacenaran en la variable "data"

Entonces, coloca el siguiente codigo en un script:

leerdatos.m
.................

FILE='texto.txt';
DELIMITER = ';';
HEADERLINES = 7;

% Importar contenido de archivos
newData1 = importdata(FILE, DELIMITER, HEADERLINES);

% Crea nuevas variables.
vars = fieldnames(newData1);
for i = 1:length(vars)
assignin('base', vars{i}, newData1.(vars{i}));
end

clear newData1 i vars
.............................

Como ejemplo de archivo, coloque esto en un archivo llamado texto.txt
---------------
Hola,
tengo un archivo de esta forma:
Sweep Count;0;
Trace 1:;;
x-Unit;Hz;
y-Unit;dBm;
Values;501;
838000000;-91.3095703125;
838016000;-88.552345275878906;
838032000;-90.992301940917969;
838048000;-89.096534729003906;
838064000;-91.188346862792969;
838080000;-90.656707763671875;


Saludos, espero que sea de alguna ayuda.
Dave Correa
[email protected]
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

dibujar matriz desde txt

Publicado por Miren (4 intervenciones) el 14/06/2011 23:32:12
Muchas gracias a los dos, los dos me sirven perfectamente.Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar