Matlab - Graficas des de un fichero

 
Vista:

Graficas des de un fichero

Publicado por Anna (6 intervenciones) el 13/08/2009 20:19:09
Hola,

Quiero hacer una gráfica a partir de los datos de un fichero donde hay dos columnas de numeros, para ello utilizo data1(:,1) donde

data1=load('resultpc0.out');
h1=data1(:,2);

plot(data1(:,1),h1,'black -^');

Pero al representarlo como la separacion entre puntos es muy pequeña, no me sale el tipo de linea -^ que quiero, sino
me sale una linea continua gruesa.

Como puedo hacerlo para reprentarlo, supongo que deberia ser algo similar a x=0:50:1000; (por ejemplo),aumentar la separacion entre puntos, pero

como lo hago en el caso de leer desde un fichero?

Sale el error:
?? Error using ==> plot
Vectors must be the same lengths.

Supongo que da este error porque h1 tambien se lee des del fichero y no tiene el mismo salto
que la primera columna.

¿Alguien sabe como hacerlo?

Gracias

Saludos

Anna
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

RE:Graficas des de un fichero

Publicado por fismat (391 intervenciones) el 13/08/2009 20:54:20
Hola Ann

El problema es en los parametros que del plot si deseas graficar lineas de color negro "black" tienes que usar el caracter "k" aqui un ejempo

dat=load('file.txt')

dat =

9 6
8 14
16 14
16 4
4 3
10 10
9 20
13 7
15 12
16 5

x=dat(:,1);
y=dat(:,2);

plot(x,y,'k-^') % para usar lineas negras

saludos
fismat
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

RE:Graficas des de un fichero

Publicado por fismat (391 intervenciones) el 13/08/2009 21:17:41
Hola Anna

Como te fue,

Fismat
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

RE:Graficas des de un fichero

Publicado por Anna (6 intervenciones) el 14/08/2009 14:00:52
Hola Fismat,

El problema no lo tengo con el color de las gráficas, sino con la representación del simbolo, al ser tan pequeña la separacion entre los datos, me sale una línea gruesa y no se aprecia el simbolo, pq salen todos los simbolos juntos.

Te adjunto el programa:

data1=load('resultpc5.out');

h1=data1(:,2); u1=data1(:,3); u1t=data1(:,4);

x1=data1(1,1);
xn=data1(500,1);
x=x1:50:xn; %He intentaddo ponerlo así por si funciona pero no supongo pq coje datos de otra columna data1(:,4)

plot(data1(:,1),u1t,'k-^','lineWidth',1.5);

¿Como puedo indicar el intervalo de separación entre los datos para poder representarlo?

Y resultpc5.out contiene

4.00000 10.00000 0.00000 0.24500 2.45000
8.00000 10.00000 0.00000 0.24500 2.45000
12.00000 10.00000 0.00000 0.24500 2.45000
16.00000 10.00000 0.00000 0.24500 2.45000
20.00000 10.00000 0.00000 0.24500 2.45000
24.00000 10.00000 0.00000 0.24500 2.45000
28.00000 10.00000 0.00000 0.24500 2.45000
32.00000 10.00000 0.00000 0.24500 2.45000
36.00000 10.00000 0.00000 0.24500 2.45000
40.00000 10.00000 0.00000 0.24500 2.45000
44.00000 10.00000 0.00000 0.24500 2.45000
48.00000 10.00000 0.00000 0.24500 2.45000
52.00000 10.00000 0.00000 0.24500 2.45000
56.00000 10.00000 0.00000 0.24500 2.45000
60.00000 10.00000 0.00000 0.24500 2.45000
64.00000 10.00000 0.00000 0.24500 2.45000
68.00000 10.00000 0.00000 0.24500 2.45000
72.00000 10.00000 0.00000 0.24500 2.45000


Gracias

Saludos

Imma
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

RE:Graficas des de un fichero

Publicado por fismat (391 intervenciones) el 14/08/2009 17:06:41
Hola Anna

Creo haber entendido tu problema, lo que deseas es graficar parte de la información que tienes en el archivo, comprendo que es demasiada información y que deseas graficar algunos de los elementos, entonces te sugiero que coloques un incremento, para asi ir elegiendo algunos de los datos de los vectores originales, a continuación un ejemplo con el archivo de datos que me enviaste

Saludos
Fismat

data=load('resultpc5.out');
% Datos en el archivo
d1=data(:,1);
d2=data(:,2);
d3=data(:,3);
d4=data(:,4);

inc=4; % Incremento de indices, para no tomar todos los valores
% Datos elegidos en función del incremento
nd1=d1(1:inc:end);
nd2=d2(1:inc:end);
nd3=d3(1:inc:end);
nd4=d4(1:inc:end);

% Graficas
plot(d1,d4,'r.','lineWidth',1.5);
hold on
plot(nd1,nd4,'k-^','lineWidth',1.5);
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

RE:Graficas des de un fichero

Publicado por fismat (391 intervenciones) el 14/08/2009 17:22:38
Hola Anna,

como te fue.

Aqui un ejemplo mas sencillo

Fismat
%%%%%%%%%

tiemp=-2*pi:pi/1000:2*pi;
tiemp=tiemp';
d1=sin(tiemp);

inc=50; % Incremento de indices, para no tomar todos los valores
% Datos elegidos en función del incremento
ntt=tiemp(1:inc:end);
nd1=d1(1:inc:end);

% Graficas
plot(tiemp,d1,'r.','lineWidth',1.5);
hold on
plot(ntt,nd1,'k-^','lineWidth',1.5);
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

RE:Graficas des de un fichero

Publicado por Anna (6 intervenciones) el 15/08/2009 12:08:38
Hola Fismat,

Si, he probado lo que me has dicho, y si funciona,

muchas gracias!

Saludos

Imma
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