Matlab - Superponer gráficas comando plot

 
Vista:

Superponer gráficas comando plot

Publicado por Carlos (60 intervenciones) el 12/05/2011 13:14:32
Hola a todos otra vez. Tengo un código en el que grafico un triángulo a partir de coordenadas, y luego grafico unas rectas con origen en 0,0 .

Consigo hacer que salgan por separado como figure1 y 2, pero no soy capaz de hacer que salgan en la misma figura. Aquí dejo el código donde hip, c1, c2, p1, p2 y p3 se pueden cambiar por cualquier variable para hacer un ejemplo (coordenadas positivas).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
%Obtaining phicos straights from 1 to 0.75
x=[0 200];
phicos1=0.435889894*x;
phicos2=0.526782687*x;
phicos3=0.6*x;
phicos4=0.661437827*x;
 
%Visualizing phicos, axis and grid
figure(gcf)
figure(2)
plot(x,phicos1)
hold on
plot(x,phicos2)
plot(x,phicos3)
plot(x,phicos4)
Max=max([phicos1 phicos2 phicos3 phicos4]);
Min=min([phicos1 phicos2 phicos3 phicos4]);
plot([-x(end) x(end)],[0 0],'k','linewidth',2)
plot([0 0],[-Max Max],'k','linewidth',2)
hold on
axis([-5 200 -5 Max]);
grid
 
%Blondel triangle. Segments obtaining method.
hip=(abs(B))*I*sqrt(3);
c1=breal*I*sqrt(3);
c2=bimag*I*sqrt(3);
 
p1=[0 0];
p2=[0 hip];
p3x=c1*c2/hip;
p3y=(c1^2)/hip;
p3=[p3x p3y]
figure(1)
figure(gcf);
x=[p1(1) p2(1) p3(1) p1(1)];
y=[p1(2) p2(2) p3(2) p1(2)];
plot(x,y)


El problema que yo veo, es que cuando utilizo el comando plot(x,y), estoy cambiando el valor de x, es decir que estoy graficando a escalas diferentes. Lo que más me importa es que salga todo referenciado al triángulo.

Lo máximo que he conseguido ha sido graficar las rectas en la escala del triángulo...

A ver si alguien puede echarme una mano. 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 JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Superponer gráficas comando plot

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/05/2011 15:01:11
HOla CARLOS.
Te hago una repregunta. ¿Cuales son los valores de B, I, breal, bimag en el programa que haz pegado en el foro?.
Porque si no me equivoco, tu estas copiando una parte de tu programa que estas haciendo. Sin los valores anteriores que estoy diciendo no puedo ejecutarlo. Por eso tomé unos valores aproximados, para poder ejecutarlo, ya tu cambias a los valores adecuados, pero ya está graficando tanto el sistema de coordenadas y el triangulo y las 4 rectas en una misma ventana de grafica. Ejecutalo y veras como esta quedando.

%%====================================================
%Obtaining phicos straights from 1 to 0.75
x=[0 200];
phicos1=0.435889894*x;
phicos2=0.526782687*x;
phicos3=0.6*x;
phicos4=0.661437827*x;

%Visualizing phicos, axis and grid
figure(gcf)
figure(1)
plot(x,phicos1)
hold on
plot(x,phicos2,'k')
plot(x,phicos3,'g')
plot(x,phicos4,'c')
Max=max([phicos1 phicos2 phicos3 phicos4]);
Min=min([phicos1 phicos2 phicos3 phicos4]);
plot([-x(end) x(end)],[0 0],'k','linewidth',2)
plot([0 0],[-Max Max],'k','linewidth',2)



%Blondel triangle. Segments obtaining method.
B=2; I=4; breal=2; bimag=6;
hip=(abs(B))*I*sqrt(3);
c1=breal*I*sqrt(3);
c2=bimag*I*sqrt(3);
p1=[0 0];
p2=[0 hip];
p3x=c1*c2/hip;
p3y=(c1^2)/hip;
p3=[p3x p3y];
x=[p1(1) p2(1) p3(1) p1(1)];
y=[p1(2) p2(2) p3(2) p1(2)];
plot(x,y,'r')
axis([-5 200 -5 Max]);
hold off
grid
%=============================================


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

Superponer gráficas comando plot

Publicado por Carlos (60 intervenciones) el 13/05/2011 09:35:36
Hola jose, soy de lo peor xD Siempre se me olvida algo. Lo siento, y no te preocupes, está genial. Con este ejemplo ya puedo ver por donde tirar ^^ Muchísimas gracias de nuevo :)
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Superponer gráficas comando plot

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 13/05/2011 13:26:58
Hello Carlos.
Ok. Entonces Tu pregunta fue RESUELTO.


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