clase 7 GRAFICOS 2D.pdf

GRÁFICOS EN MATLAB
UNIVERSIDAD PERUANA DEL CENTRO
FACULTAD DE INGENIERIA
ESCUELA PROFESIONAL DE INGENIERIA CIIVIL
MSc.HugoF.CAÑARIMARTICORENA
GRAFICOS EN 2D
Las tablas de datos muy grandes son difíciles de interpretar. Los ingenieros usan
técnicas de graficación para hacer que la información se entiendan fácilmente.
Con una gráfica es fácil identificar tendencias, elegir altos y bajos y aislar
puntos de datos que pueden ser mediciones o cálculos de errores. Las gráficas
también se pueden usar como una rápida verificación para determinar si una
solución de computadora produce los resultados esperados .
Con los siguientes comandos que veremos a continuación podremos graficar
datos en Matlab.
Una vez definidos los vectores de valores x y valores y, MATLAB hace fácil la
creación de gráficas. Primero vamos a crear los datos x-y. Supongamos que
estos datos fueron obtenidos en la medición de una función con relación al
tiempo.
X=0:0.1:10; %Datos en y (será el tiempo)
Y=2*sin(X); %Función Seno dependiente del
tiempo
Para Graficar usamos la función plot(X,Y), para
colocar títulos usamos title, para colocar
etiquetas en x y y usamos xlabel() y ylabel()
respectivamente, para colocar rejilla usamos el
grid y para colocar una legenda usamos
legend().
Vamos a graficar una función en Matlab, en
este caso estamos hablando de la funcion
Seno.
plot(X,Y)
title('Función Seno') %Coloca un título al
grafico
xlabel('tiempo(s)') % Coloca titulo al eje x
ylabel('X=2*sin(Y)') % Coloca titulo al eje y
grid on % Coloca una grilla al grafico
clase 7 GRAFICOS 2D.pdf
COMO GRAFICAR VARIAS FUNCIONES EN
MATLAB
Al momento de hacer una gráfica en MATLAB y luego
hacer más cálculos y hacer una segunda gráfica,
MATLAB va a sobrescribir la primera gráfica. Si no
deseamos esto, debemos usar el comando hold. Dicho
comando nos permite superponer graficas en MATLAB.
Continuando entonces con la grafica del seno anterior,
vamos a aprender como graficar varias funciones en
matlab, para eso procedemos a graficar el coseno sobre
la misma figura para ver ambas funciones.
Z=cos(4*X); %Crea función Coseno y lo guarda en Z
hold %Mantiene las dos funciones en la misma figura
plot(X,Z) %Grafica el Coseno
legend('Seno','Coseno'); %Crea una L
Tambien podemos hacer estas graficas en una sola
línea usando el comando plot y separando cada
función por comas.
plot(X,Y,X,Z) %Grafica el seno y el coseno
o podemos separar cada función en dos figuras
diferentes anteponiendo el comando figure(x)
figure(1) %Figura 1
plot(X,Y) %Función Seno
figure(2) %Figura 2
plot(X,Z) %Función Coseno
VARIAS VENTANAS DE GRAFICAS
EN MATLAB
Podemos hacer las dos graficas separadas en una misma figura con el
comando subplot. Este comando me permite crear 2 graficas en una
ventana en MATLAB o también crear multiples graficos en MATLAB.
el comando se hace subplot(m,n,p); rompe la ventana de la Figura en
una matriz m-n de ejes pequeños, selecciona el eje p-th para la gráfica
actual.
figure
subplot(2,1,1) %Divide una figura en 2 filas y 1 columna
plot(X,Y) %Grafica seno en el eje 1
subplot(2,1,2) %Divide una figura en 2 filas y 1 columna
plot(X,Z) %Grafica coseno en el eje 2
clase 7 GRAFICOS 2D.pdf
DECORAR GRÁFICAS EN MATLAB
Puede cambiar la apariencia de sus gráficas al
seleccionar estilo y color de línea definidos por el
usuario y al elegir mostrar los puntos de datos en
la gráfica con estilos de marca definidos por el
usuario. A continuación hay una tabla con un
resumen de los parametros con los cuales se
puede decorar graficas o cambiar atributos en
MATLAB.
clase 7 GRAFICOS 2D.pdf
%EJEMPLO 1
PLOT(X,Y,'-C',X,Z,'--K')
%EJEMPLO 2
PLOT(X,Y,':M’,X,Z,’*G’)
Podemos cambiar también el tamaño de las líneas con
Linewidth y el tamaño de las fuentes con FontSize, Para
cambiar la fuente de los Axes usar el comando gca.
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
title('Función Seno' ,'FontSize',15) %Coloca un título al
grafico
xlabel('tiempo(s)' ,'FontSize',10) % Coloca titulo al eje x
ylabel('X=2*sin(Y); Z=cos(4*X)' ,'FontSize',18) % Coloca
titulo al eje y
set(gca,'FontSize',(14) ) % Tamaño del Axe
clase 7 GRAFICOS 2D.pdf
AJUSTAR EJES EN MATLAB
MATLAB selecciona automáticamente
escalamientos adecuados en los ejes x y y. A
veces es útil para el usuario tener la
capacidad de controlar el escalamiento. El
control se logra con la función axis.
axis([XMIN XMAX YMIN YMAX])
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
axis([2,8,-1,1]);
clase 7 GRAFICOS 2D.pdf
ANOTACIONES EN GRÁFICOS EN
MATLAB
También es posible hacer anotaciones en las
graficas de MATLAB. text(X,Y,’Anotación’)
Puede usar letras griegas en sus etiquetas al
poner una diagonal inversa () antes del
nombre de la letra. Por ejemplo alpha, beta,
gamma, rho, etc
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
text(3,1.5,'funciones en frecuencia')
title('Función X=sin(alpha)')
clase 7 GRAFICOS 2D.pdf
PARÁMETROS DEL PLOT
El comando plot ofrece opciones
adicionales para controlar la forma
en que aparece la gráfica. Use la
función help para aprender más
acerca de cómo controlar la
apariencia de la gráfica.
EJERCICIOS
1.-
>> x=[1 3 0 -3];y=[1 2 4 6];
>> plot(x,y)
2.- Representar gráficamente las siguientes
funciones en ventanas diferentes,
f(x)=sen(x), g(x)=x2+3x en el intervalo
[0,2π].
>> x=linspace(0,2*pi,100);
>> y=sin(x); z=x.^2+3*x;
>> plot(x,y)
>> plot(x,z)
2.1.
x=linspace(0,10,100);
>> y=sin(x);
>> plot(x,y)
REPRESENTAR LA GRÁFICA DE LA FUNCIÓN F(X)=XSen(X) EN EL
INTERVALO [0,2Π], CON REJILLA.
>> x=linspace(0,2*pi,100);
>> y=x.*sin(x);
>> plot(x,y)
>> grid
REPRESENTAR F(X)=sen(X)cos(X) EN [0,2Π], CON ETIQUETAS EN LOS EJES,
TÍTULO Y EN COLOR ROJO.
>> x=linspace(0,2*pi,100);
>> y=sin(x).*cos(x);
>> plot(x,y,'r')
>> xlabel('eje x')
>> ylabel('eje y')
>> title('funcion sen(x)cos(x)')
REPRESENTAR EN [0,6] Y EN LA GRÁFICA LAS FUNCIONES:
A. F(X)=3XEX EN AZUL.
B. G(X)=SEN(X+3) EN ROJO Y CON TRAZO DISCONTINUO Y
PONER LEYENDAS.
>> x=linspace(0,6,100);
>> y=3*x.*exp(x);
>> z=sin(x+3);
>> plot(x,y)
>> hold on
>> plot(x,z,'r--')
>> hold off
>> legend('primera funcion', 'segunda funcion')
x = 0:pi/100:2*pi; y = sin(x);
plot(x,y)
REPRESENTAR EN LA MISMA GRÁFICA PERO EN DISTINTAS VENTANAS LAS
SIGUIENTES FUNCIONES: X, X2, X3, X4, X5, X6. LAS PARES EN COLOR
ROJO Y CON REJILLA, LAS IMPARES EN AZUL Y SIN REJILLA.
>> x=-1:0.1:1;
>> y1=x; y2=x.^2; y3=x.^3; y4=x.^4; y5=x.^5; y6=x.^6;
>> subplot(3,2,1), plot(x,y1)
>> subplot(3,2,2), plot(x,y2,'r'), grid
>> subplot(3,2,3), plot(x,y3)
>> subplot(3,2,4), plot(x,y4,'r'), grid
>> subplot(3,2,5), plot(x,y5)
>> subplot(3,2,6), plot(x,y6,'r'), grid
>> x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
>> plot(x,y1,x,y2)
>>
>> y = magic (4)
>> plot (y)
>> x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
>> plot(x,y1,x,y2,'--',x,y3,':')
>>
>> x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
>> plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
>>
>> x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))
>>
>> x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
>> plot(x,y,'--gs',...
'LineWidth',2,...
'MarkerSize',10,...
'MarkerEdgeColor','b',...
'MarkerFaceColor',[0.5,0.5,0.5])
>> x = linspace(0,10,150);
y = cos(5*x);
>> plot(x,y,'Color',[0,0.7,0.9])
title('2-D Line Plot')
xlabel('x')
ylabel('cos(5x)')
>>
>> t = 0:seconds(30):minutes(3);
y = rand(1,7);
plot(t,y,'DurationTickFormat','mm:ss')
>>
>> x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);
>> p(1).LineWidth = 2;
p(2).Marker = '*';
>>
>> r = 2;
xc = 4;
yc = 3;
theta = linspace(0,2*pi);
x = r*cos(theta) + xc;
y = r*sin(theta) + yc;
plot(x,y)
axis equal
>>
GRACIAS
EJEMPLOS VARIOS
x = 0:pi/100:2*pi;
y = sin(x);
PLOT(x,y)
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2)
Y = magic(4)
Y = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
figure
plot(Y)
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,x,y2,'--',x,y3,':')
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
Figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
figure
plot(x,y,'--gs','LineWidth',2,'MarkerSize',10,…
'MarkerEdgeColor','b',... 'MarkerFaceColor',[0.5,0.5,0.5])
x = linspace(0,10,150);
y = cos(5*x);
figure
plot(x,y,'Color',[0,0.7,0.9])
title('2-D Line Plot’)
xlabel('x’)
ylabel('cos(5x)')
t = 0:seconds(30):minutes(3);
y = rand(1,7); plot(t,y,'DurationTickFormat','mm:ss')
x = linspace(0,3);
y1 = sin(5*x);
y2 = sin(15*x);
tiledlayout(2,1)
% Top plot
ax1 = nexttile;
plot(ax1,x,y1)
title(ax1,'Top Plot’)
ylabel(ax1,'sin(5x)’)
% Bottom plot
ax2 = nexttile; plot(ax2,x,y2)
title(ax2,'Bottom Plot’)
ylabel(ax2,'sin(15x)')
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
p = plot(x,y1,x,y2);
p(1).LineWidth = 2;
p(2).Marker = '*';
r = 2;
xc = 4;
yc = 3;
theta = linspace(0,2*pi);
x = r*cos(theta) + xc;
y = r*sin(theta) + yc;
plot(x,y) axis equal
X=0:0.1:10; %Datos en y (será el tiempo)
Y=2*sin(X); %Función Seno dependiente del tiempo
plot(X,Y)
title('Función Seno') %Coloca un título al grafico
xlabel('tiempo(s)') % Coloca titulo al eje x
ylabel('X=2*sin(Y)') % Coloca titulo al eje y
grid on % Coloca una grilla al grafico
Z=cos(4*X); %Crea función Coseno y lo guarda en Z
hold %Mantiene las dos funciones en la misma figura
plot(X,Z) %Grafica el Coseno
legend('Seno','Coseno'); %Crea una L
clase 7 GRAFICOS 2D.pdf
Ejemplo 1
plot(X,Y,'-c',X,Z,'--k')
%Ejemplo 2
plot(X,Y,':m',X,
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
title('Función Seno' ,'FontSize',15) %Coloca un título al grafico
xlabel('tiempo(s)' ,'FontSize',10) % Coloca titulo al eje x
ylabel('X=2*sin(Y); Z=cos(4*X)' ,'FontSize',18) % Coloca titulo al eje y
set(gca,'FontSize',(14) ) % Tamaño del Axe
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
axis([2,8,-1,1]);
plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3)
text(3,1.5,'funciones en frecuencia')
title('Función X=sin(alpha)')
>>x = [-2 -1 0 1 2 3];
>>y = [4 1 0 1 4 9];
>> plot (x,y)
>> x = [-2 -1 0 1 2 3];
>> y = [4 1 0 1 4 9];
>>z = [6 5 3 7 5 2];
>> plot (x,y,x,z)
......
>> plot (x,y,'*’)
>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];
>> plot (x,y)
>> x = [-2 0 2 0 -2];
>> y = [4 8 4 0 4];
>> fill (x,y,'r') % dibuja el polígono, 'r' indica
el color rojo
>> x=[3 3 7 7];
>> y=[5 6.5 6.5 5];
>> fill(x,y,'r’)
>> axis([0 10 4 7.5])
>> x=[3 3 7 7];
>> y=[5 6.5 5 6.5];
>> fill(x,y,'r’)
>> axis([0 10 4 7.5])
>> x = 1:360; y1 = sind (x); y2 = cosd (x); y3 = exp (x); y4 = exp (-x);
>> subplot (2,2,1), plot (x,y1), title ('seno')
>> subplot (2,2,2), plot (x,y2), title ('coseno')
>> subplot (2,2,3), plot (x,y3), title ('exponencial')
>> subplot (2,2,4), plot (x,y4), title ('-exponencial')
clase 7 GRAFICOS 2D.pdf
GRÁFICOS: 2D
Funciones gráficas 2D elementales:
MATLAB dispone de 4 funciones básicas para crear gráficos 2-D. Estas se diferencian
principalmente por el tipo de escala que utilizan en los ejes Estas cuatro funciones son
las siguientes:
• plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas
lineales sobre ambos ejes.
• loglog() ídem con escala logarítmica en ambos ejes.
• semilogx() ídem con escala lineal en el eje de ordenadas y logarítmica en el eje de
abscisas.
• semilogy() ídem con escala lineal en el eje de abscisas y logarítmica en el eje de
ordenadas.
GRÁFICOS: 2D______________________________
Existen funciones orientadas a añadir títulos al gráfico, a los ejes, a dibujar una
cuadrícula auxiliar, a introducir texto, etc.
• title('título') añade un título al dibujo
• xlabel('tal') añade una etiqueta al eje de abscisas.
•Con xlabel off desaparece
• ylabel('cual') idem al eje de ordenadas.
•Con ylabel off desaparece
• text(x,y,'texto') introduce 'texto' en el lugar especificado por las coordenadas x e y. Si
x e y son vectores, el texto se repite por cada par de elementos.
•gtext('texto') introduce texto con ayuda del ratón:
•legend() define rótulos para las distintas líneas o ejes utilizados en la figura.
• grid activa una cuadrícula en el dibujo.
• Con grid off desaparece la cuadrícula
GRÁFICOS: 2D ______________________________
plot es la función clave de todos los gráficos 2-D en MATLAB. Ya se ha dicho que el
elemento
básico de los gráficos bidimensionales es el vector. Se utilizan también cadenas de
1, 2 ó 3
caracteres para indicar colores y tipos de línea. La función plot(), no hace otra cosa
que dibujar vectores. Ejemplo1:
» x=[1 3 2 4 5 3]
x =
1 3 2 4 5 3
» plot(x)
Figura 5.1. Gráfico del vector x=[1 3 2 4 5 3].
GRÁFICOS: 2D ______________________________
FUNCIÓN PLOT
Ejemplo2
x=0:pi/90:2*pi;
y=sin(x).*cos(x);
plot(x,y)
grid on
grid off
xlabel(‘eje x (en radianes)’)
ylabel(‘eje y’)
title(‘y=sen(x)*cos(x)’)
GRÁFICOS: 2D ______________________________
FUNCIÓN PLOT
Es posible incluir en el título o en la etiqueta de los ejes el valor de una variable
numérica. Ya que el argumento de los comandos title, xlabel e ylabel es una variable
carácter, es preciso transformar las variables numéricas
int2str(n) convierte el valor de la variable entera n en carácter
num2str(x) convierte el valor de la variable real o compleja x en carácter
GRÁFICOS: 2D ______________________________
Texto sobre la gráfica
gtext(’texto’)
text(x,y,’texto a imprimir’)
Calcular las coordenadas de puntos sobre la curva
ginput(n)
[x,y]=ginput(n)
Elección del trazo y color de la curva
plot(x,y,’opcion’)
hold on
hold off
y yellow . point - solid
m magenta o circle : dotted
c cyan x x-mark -. dashdot
r red + plus -- dashed
g green * star
b blue s square
w white d diamond
k black v triangle (down)
^ triangle (up)
< triangle (left)
> triangle (right)
p pentagram
h hexagram
Opciones de plot
Ejemplo3: Calcular gráficamente las soluciones de la ecuación
teta=0:pi/360:pi/4;
f1=(2*teta-cos(2*teta))/2;
f2=0.4*ones(size(f1));
figure
plot(teta,f1,'g--',teta,f2,'r')
axis square
xlabel('Angulo (radianes)')
gtext('2x-cos(2x))/2')
text(0.2,0.43,'y=0.4')
[teta0,y0]=ginput(1)
title(['Raiz aproximada=',num2str(teta0)])
4
.
0
2
)
2
cos(
2
=
− x
x
Elección de la escala de los ejes
axis([x0 x1 y0 y1])
axis auto: devuelve la escala a la de defecto
axis off: desactiva los etiquetados de los ejes desapareciendo los ejes sus
etiquetas y la grid.
axis on: lo activa de nuevo
axis xy: sistema de coordenas cartesianas origen en el ángulo inferior izquierdo,
eje ox de izqda. A dcha. y oy de abajo a arriba.
axis equal: los mismos factores de escala para los dos ejes
axis square: cierra con un cuadrado la región delimitada por los ejes de
coordenadas actuales.
Impresión de gráficas
print -dps % PostScript for black and white printers
-dpsc % PostScript for color printers
-deps % Encapsulated PostScript
-depsc % Encapsulated Color PostScript
print -djpeg<nn> % JPEG imagen, nn nivel de calidad Ejemplo. print -
djpeg90 figura1 (nn 75 por defecto)
Ejemplo4: plot(vector,Matriz)
x=0:pi/180:2*pi;
y=sin(x);
z=cos(x);
plot(x,y,x,z)
A=[y' z']
plot(x,A)
Función eval se utiliza con funciones definidas con un carácter. y=eval(’caracter’)
Ejemplo5:
f=‘sin(x)-2*cos(x)’;
x=0:pi/90:2*pi;
y=eval(f);
plot(x,y)
axis([0 6 0 2.4]);gtext(‘sen(x)-2cos(x)’)
Función fplot se utiliza con funciones definidas con un carácter. fplot=(f,[0 2*pi
ymin ymax])
Ejemplo6:
f=‘sin(x)-2*cos(x)’;
fplot(f,[0 2*pi],’g—’)
Esta función puede utilizarse también en la forma:
[x,y]=fplot(f,[0 2*pi ymin ymax])
y en este caso se devuelven los vectores x e y, pero no se dibuja nada.
Llamar una nueva figura figure o referirnos a una figura ya echa figure(n)
Borrar la figura actual clf
close all borra todas las figuras close(figure(n)) la n
FUNCIÓN SUBPLOT
Una ventana gráfica se puede dividir en m particiones horizontales y n verticales,
con objeto de representar múltiples gráficos en ella. Cada una de estas
subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda
la figura. La forma general de este comando es:
subplot(m,n,i) donde m y n son el número de subdivisiones en filas y columnas, e i
es la subdivisión que se convierte en activa. Las subdiviones se numeran
consecutivamente empezando por las de la primera fila, siguiendo por las de la
segunda, etc.
Ejemplo7:
subplot(121)
f=‘sin(x)-2*cos(2*x)’;
fplot(f,[0 2*pi])
legend(‘sen(x)-2cos(2x)’)
subplot(122)
fplot(‘sin’,[0 4*pi],’r’)
legend(‘sen(x)’)
Otras funciones gráficas 2-D
• bar() crea diagramas de barras.
• barh() diagramas de barras horizontales.
• bar3() diagramas de barras con aspecto 3-D.
• bar3h() diagramas de barras horizontales con aspecto 3-D.
• pie() gráficos con forma de “tarta”.
• pie3() gráficos con forma de “tarta” y aspecto 3-D.
• area() similar plot(), pero rellenando en ordenadas de 0 a y.
• stairs() función análoga a bar() sin líneas internas.
• errorbar() representa sobre una gráfica –mediante barras– valores de errores.
• compass() dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de un origen común.
• feather() dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de orígenes uniformemente espaciados sobre el eje de abscisas.
• hist() dibuja histogramas de un vector.
Representación de polígonos
función especial para dibujar polígonos planos, rellenándolos de un determinado
color.
La forma general es la siguiente:
» fill(x,y,c)
· Si c es un carácter de color ('r','g','b','c','m','y','w','k'), o un vector de valores [r g b],
el polígono se rellena de modo uniforme con el color especificado.
· Si c es un vector de la misma dimensión que x e y, sus elementos se trasforman de
acuerdo con un mapa de colores determinado, y el llenado del polígono –no
uniforme en este caso–se obtiene interpolando entre los colores de los vértices. Este
comando con matrices:
» fill(A,B,C)
donde A y B son matrices del mismo tamaño. En este caso se dibuja un polígono por
cada par de columnas de dichas matrices. C puede ser un vector fila de colores
uniformes para cada polígono, o una matriz del mismo tamaño que las anteriores
para obtener colores de relleno por interpolación.
Ejemplo8:
x=[1,2,1,0];
y=[0,1,2,1];
figure
fill(x,y,’r’)
title(‘rombo’)
GRÁFICOS: 2D Y 3D______________________________
Funciones gráficas 3D elementales:
La función plot3 es análoga a su homóloga bidimensional plot. Su forma más sencilla
es la
siguiente:
» plot3(x,y,z)
Ejemplo9:
teta=0:pi/80:8*pi;
x=1+2*cos(teta);
y=1+2*sin(teta);
z=4*teta;
plot3(x,y,z)
axis([-1 3 -1 3 0 120]);
xlabel('eje x')
ylabel('eje y')
zlabel('eje z')
GRÁFICOS: 2D Y 3D______________________________
Representación gráfica de superficies. mesh(x,y,Z),
Creación de una malla [X, Y]=meshgrid(x,y)
Gráfica de la malla construida sobre la superficie z mesh(X,Y,Z), meshz(X,Y,Z)
Además hace una proyección sobre el plano z=0, meshc(X,Y,Z), líneas de contorno en
el plano z=0
Ejemplo10:
x=[0:2:200];y=[0:50];
%Obtenemos la malla del dominio
[X Y]=meshgrid(x,y);
length(x),length(y)
size(X), size(Y)
Z=X.^2-Y.^2;
figure(1);mesh(X,Y,Z)
figure(2);meshz(X,Y,Z)
figure(3);meshc(X,Y,Z)
GRÁFICOS: 2D Y 3D______________________________
Lo mismo con surf(X,Y,Z), surfc(X,Y,Z), surfl(X,Y,Z)
Una forma distinta de representar funciones tridimensionales es por medio de isolíneas
o curvas de nivel. Con contour(x,y,Z) y con contour3(X,Y,Z) generamos las líenas de
nivel de una superficie.
Existen etiquetas especiales, primero necesitamos saber los valores del contorno
cs=contour(Z) y luego ponemos clabel(cs) o clabel(cs,v)
pcolor(Z) dibuja una proyección con sombras de color sobre el plano, la gama de
colores está en consonancia con las variaciones de la matriz Z.
La función surf y pcolor tiene diversas posibilidades referentes a la forma en que son
representadas las facetas o polígonos coloreados. Las tres posibilidades son las
siguientes:
• shading flat: determina sombreado con color constante para cada polígono. Este
sombreado se llama plano o flat.
• shading interp: establece que el sombreado se calculará por interpolación de colores
entre los vértices de cada faceta. Se llama también sombreado de Gouraud
• shading faceted: consiste en sombreado constante con líneas negras superpuestas.
Esta es la opción por defecto
Cuando se desea dibujar una figura con un determinado mapa de colores se establece una
correspondencia (o un mapping) entre los valores de la función y los colores del mapa de colores.
» caxis([cmin, cmax]) %escala el mapa de colores
colormap(opcion). Distintas escalas de colores
hsv - Hue-saturation-value color map.
hot - Black-red-yellow-white color map.
gray - Linear gray-scale color map.
bone - Gray-scale with tinge of blue color map.
copper - Linear copper-tone color map.
pink - Pastel shades of pink color map.
white - All white color map.
flag - Alternating red, white, blue, and black color map.
lines - Color map with the line colors.
colorcube - Enhanced color-cube color map.
vga - Windows colormap for 16 colors.
jet - Variant of HSV.
prism - Prism color map.
cool - Shades of cyan and magenta color map.
autumn - Shades of red and yellow color map.
spring - Shades of magenta and yellow color map.
winter - Shades of blue and green color map.
summer - Shades of green and yellow color map.
GRÁFICOS: 2D Y 3D______________________________
colorbar(‘horiz’), colorbar(‘vertical’) %barra con la escala de colores.
brighten ajusta el brillo de color del mapa de colores
[X,Y,Z]=sphere(n) dibuja una representación de la esfera unidad con
n puntos de discretización
[X,Y,Z]=cylinder(rad,n) dibuja una representación de un cilindro
unidad con n puntos igualmente espaciados cuya sección viene dada
por la curva cuyos radios se guardan en el vector rad. (1,1) y 20
valores por defecto.
fill3(x,y,z,c) %polígonos tridimensionales
GRÁFICOS: 2D Y 3D______________________________
GRÁFICOS: 2D Y 3D______________________________
Manipulación de gráficos
view: view(azimut, elev), view([xd,yd,zd]).
view(2)
view(3)
rotate(h,d,a) o rotate(h,d,a,o) h es el objeto, d es un vector que indica la dirección y a
un ángulo, o el origen de rotación
En el dibujo de funciones tridimensionales, a veces también son útiles los NaNs. Cuando
una parte de los elementos de la matriz de valores Z son NaNs, esa parte de la
superficie no se dibuja, permitiendo ver el resto de la superficie.
GRÁFICOS: 2D Y 3D______________________________
hidden off desactiva le eliminación de líneas escondidas
hidden on situación previa
GRÁFICOS: 2D Y 3D______________________________
Transformación de coordenadas
[ang,rad]=cart2pol(x,y) %De cartesianas a polares
[ang,rad,z]=cart2pol(x,y,z) %De cartesianas a cilindricas
[x,y]=pol2cart(ang,rad) %De polares a cartesianas
[x,y,z]=pol2cart(ang,rad,z) %De cilindricas a cartesianas
[angx,angz,rad]=cart2sph(x,y,z) %De cartesianas a esfericas
[x,y,z]=aph2cart(angx,angz,rad) %De esfericas a cartesianas
Ejemplo11:
%cilindricas
[ang,rad,z]=cart2pol(sqrt(3),1,2)
%esfericas
[ang1,ang2,rad1]=cart2sph(sqrt(3),1,2)
GRÁFICOS: 2D Y 3D______________________________
Creación de películas
Para preparar pequeñas películas o movies se pueden utilizar las funciones
movie, moviein y getframe. Una película se compone de varias imágenes,
denominadas frames. La función getframe devuelve un vector columna con la
información necesaria para reproducir la imagen que se acaba de
representar en la figura o ventana gráfica activa, por ejemplo con la función
plot. El tamaño de este vector columna depende del tamaño de la ventana,
pero no de la complejidad del dibujo. La función moviein(n) reserva
memoria para almacenar n frames. Una vez creada la película se puede
representar el número de veces que se desee con el comando movie.
Ejemplo12:
for j=1:10
x=0:0.01:2*pi;
plot(x,sin(j*x)/2)
M(j)=getframe;
end
movie(M,10)
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.1: Consideremos la ecuación de Van der Waals. Se considera el benceno
para el cual a=18.78 atml2/mol2, b=0.1208 l/mol. Representar sobre una misma
gráfica las dos subgráficas correspondientes a:
Isotermas de 100, 200, 300 y 400 ºC
Isobaras de 25, 35, 45 y 55 atm
Cada curva debe ir con trazo diferenciado, con el texto que indique la isolínea que se
ha representado, así como el título de la gráfica y la etiqueta de los ejes. R=0.0821 y
V=[2:100];
RT
b
V
V
a
P =
−
+ )
)(
( 2
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.1:
a=18.78;
b=0.1208;
R=0.0821;
subplot(1,2,1)
T=[373:100:673];
V=[2:100];
fac1=R./(V-b);
fac2=a./V.^2;
P=zeros(4,length(V));
P(1,:)=T(1)*fac1-fac2;
P(2,:)=T(2)*fac1-fac2;
P(3,:)=T(3)*fac1-fac2;
P(4,:)=T(4)*fac1-fac2;
plot(V,P(1,:),'-',V,P(2,:),'--',V,P(3,:),':',V,P(4,:),'-.')
title('Ecuacion de Van der Waals: Isotermas')
xlabel('Volumen, ltr.')
ylabel('Presion, atm.')
axis([0, 50,0,15])
legend('T=100ºC','T=200ºC','T=300ºC','T=400ºC')
GRÁFICOS: 2D Y 3D______________________________
subplot(1,2,2)
P=[25:10:55];
T=zeros(4,length(V));
fac1=(V-b)/R;
T(1,:)=((P(1)+fac2).*fac1)-273.15;
T(2,:)=((P(2)+fac2).*fac1)-273.15;
T(3,:)=((P(3)+fac2).*fac1)-273.15;
T(4,:)=((P(4)+fac2).*fac1)-273.15;
plot(V,T(1,:),'-',V,T(2,:),'--',V,T(3,:),':',V,T(4,:),'-.')
title('Ecuacion de Van der Waals: Isobaras')
xlabel('Volumen, ltr.')
ylabel('Temperatura, ºC')
legend('P=25 atm.','P=35 atm.','P=45 atm.','P=55 atm.')
GRÁFICOS: 2D Y 3D______________________________
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.2 Dada la función f(x,y)=xy, obtener sobre una ventana gráfica las
representaciones siguientes:
-La superficie definida por la función sobre el dominio [-10,10]*[-10,10].
-Las líneas de contorno sobre la superficie
-La proyección de las líneas de contorno sobre el domino de definición
-La proyección de las líneas de contorno sobre el plano xy correspondientes a los
valores –4,-1, 1 y 4.
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.2
x=[-10:0.5:10]; y=x;
[X,Y]=meshgrid(x,y);
Z=X.*Y;
subplot(221)
mesh(X,Y,Z)
legend('z=xy')
xlabel('eje x')
ylabel('eje y')
zlabel('eje z')
title('superficie z=xy')
subplot(222)
contour3(Z)
grid off
xlabel('eje x')
ylabel('eje y')
GRÁFICOS: 2D Y 3D______________________________
zlabel('eje z')
title('lineas de contorno 3D')
subplot(223)
cs=contour(Z);
contour(x,y,Z)
grid off
clabel(cs)
xlabel('eje x')
ylabel('eje y')
title('Proyeccion de las lineas de contorno')
subplot(224)
contour(Z,[-4,-1,1,4])
grid off
xlabel('eje x')
ylabel('eje y')
title('Proyeccion de las lineas de contorno')
GRÁFICOS: 2D Y 3D______________________________
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.3 Representar la superficie de revolución obtenida al girar la curva
y=x2+1 alrededor del eje ox
x=[0:0.1:1];
GRÁFICOS: 2D Y 3D______________________________
Ejercicio5.3
x=[0:0.1:1]; %puntos de discretizacion del eje ox
rad=x.^2+1; %vector de radios
n=length(rad); %numero de radios
cylinder(rad,n) %representacion del cilindro
xlabel('eje x')
ylabel('eje y')
zlabel('eje z')
[X,Y,Z]=cylinder(rad,n);
h=surf(X,Y,Z); %calculo del objeto
rotate(h,[0,1,0],90)
%Al rotar desaparecen las etiquetas de los ejes
xlabel('eje x')
ylabel('eje y')
zlabel('eje z')
view(15,15) %cambiamos el punto de observacion
grid off
legend('f(x)=x^2+1')
GRÁFICOS: 2D Y 3D______________________________
clase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdf
1 sur 95

Recommandé

Graficas 2D y 3D par
Graficas 2D y 3DGraficas 2D y 3D
Graficas 2D y 3DEdu Morán
2.4K vues16 diapositives
Lab 3 de tele final par
Lab 3 de tele finalLab 3 de tele final
Lab 3 de tele finalBrayham Delgado Huertas
698 vues21 diapositives
Graficas en matlab 2 d y 3d par
Graficas en matlab 2 d y 3dGraficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3dSebastian Cuenca
2.4K vues20 diapositives
Gráficos en matlab eda par
Gráficos en matlab edaGráficos en matlab eda
Gráficos en matlab edaJhonny Rosas
311 vues11 diapositives
Deber graficas en matlab par
Deber graficas en matlabDeber graficas en matlab
Deber graficas en matlabSam Chimborazo
11.8K vues29 diapositives
Deber graficas en matlab par
Deber graficas en matlabDeber graficas en matlab
Deber graficas en matlabSam Chimborazo
736 vues29 diapositives

Contenu connexe

Similaire à clase 7 GRAFICOS 2D.pdf

Graficos matlab par
Graficos matlabGraficos matlab
Graficos matlabDenise Cris
22.4K vues30 diapositives
Graficos matlab par
Graficos matlabGraficos matlab
Graficos matlabDenise Cris
823 vues30 diapositives
Matlab 2 Capitulo 6 par
Matlab 2 Capitulo 6Matlab 2 Capitulo 6
Matlab 2 Capitulo 6guest4f4d78d
41.7K vues28 diapositives
Gráficas en matlab par
Gráficas en matlabGráficas en matlab
Gráficas en matlabFaraón Zurita
7.9K vues29 diapositives
Clase 3 (1) par
Clase 3 (1)Clase 3 (1)
Clase 3 (1)esvin Rey
150 vues27 diapositives
Graficas en 2 d y 3d matlab par
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabJuan Ete
83.5K vues31 diapositives

Similaire à clase 7 GRAFICOS 2D.pdf(20)

Graficos matlab par Denise Cris
Graficos matlabGraficos matlab
Graficos matlab
Denise Cris22.4K vues
Matlab 2 Capitulo 6 par guest4f4d78d
Matlab 2 Capitulo 6Matlab 2 Capitulo 6
Matlab 2 Capitulo 6
guest4f4d78d41.7K vues
Graficas en 2 d y 3d matlab par Juan Ete
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
Juan Ete83.5K vues
Graficas en matlab juan villacis 2 do b par N0VA6
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
N0VA6130 vues
Graficas en matlab juan villacis 2 do b par N0VA6
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
N0VA6524 vues
Graficas en matlab juan villacis 2 do b par N0VA6
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
N0VA6624 vues
Graficos en matlab par Marc Llanos
Graficos en matlabGraficos en matlab
Graficos en matlab
Marc Llanos33.2K vues

Plus de NandoMartiHufer

EL INGENIERO Y SU ETHOS.pdf par
EL INGENIERO Y SU ETHOS.pdfEL INGENIERO Y SU ETHOS.pdf
EL INGENIERO Y SU ETHOS.pdfNandoMartiHufer
2 vues64 diapositives
clase 06 VALORES ING CIVIL.pdf par
clase 06 VALORES ING CIVIL.pdfclase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdfNandoMartiHufer
31 vues30 diapositives
clase 06 VALORES ING CIVIL.pdf par
clase 06 VALORES ING CIVIL.pdfclase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdfNandoMartiHufer
5 vues30 diapositives
clasificacioneseticas - CLASE 2.pdf par
clasificacioneseticas - CLASE 2.pdfclasificacioneseticas - CLASE 2.pdf
clasificacioneseticas - CLASE 2.pdfNandoMartiHufer
9 vues34 diapositives
CLASE 04.pdf par
CLASE 04.pdfCLASE 04.pdf
CLASE 04.pdfNandoMartiHufer
4 vues82 diapositives
CLASE 05.pdf par
CLASE 05.pdfCLASE 05.pdf
CLASE 05.pdfNandoMartiHufer
3 vues25 diapositives

Dernier

trabajo de tecnologia par
trabajo de tecnologiatrabajo de tecnologia
trabajo de tecnologiaMaraMuos
8 vues4 diapositives
S6_TAREA_SET_C_HERTC1202 (1).pdf par
S6_TAREA_SET_C_HERTC1202 (1).pdfS6_TAREA_SET_C_HERTC1202 (1).pdf
S6_TAREA_SET_C_HERTC1202 (1).pdfMatematicaFisicaEsta
9 vues4 diapositives
CMMI FINAL.pdf par
CMMI FINAL.pdfCMMI FINAL.pdf
CMMI FINAL.pdfEmanuelMuoz11
7 vues23 diapositives
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos... par
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...ANDECE
23 vues23 diapositives
examen21-230805154531-e58571e6.pdf par
examen21-230805154531-e58571e6.pdfexamen21-230805154531-e58571e6.pdf
examen21-230805154531-e58571e6.pdfMatematicaFisicaEsta
7 vues3 diapositives

Dernier(20)

trabajo de tecnologia par MaraMuos
trabajo de tecnologiatrabajo de tecnologia
trabajo de tecnologia
MaraMuos8 vues
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos... par ANDECE
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...
Evolución de los aditivos reductores de agua en la prefabricación. Mecanismos...
ANDECE23 vues
Concreto. Jesus Esis.pdf par JesusEsis1
Concreto. Jesus Esis.pdfConcreto. Jesus Esis.pdf
Concreto. Jesus Esis.pdf
JesusEsis112 vues
Práctica individual con evaluación entre compañeros - Jose Alonso Vasquez Fon... par JosAlonsoVsquezFonse2
Práctica individual con evaluación entre compañeros - Jose Alonso Vasquez Fon...Práctica individual con evaluación entre compañeros - Jose Alonso Vasquez Fon...
Práctica individual con evaluación entre compañeros - Jose Alonso Vasquez Fon...
Nuevos cementos para el hormigón prefabricado. Perspectiva desde los aditivos par ANDECE
Nuevos cementos para el hormigón prefabricado. Perspectiva desde los aditivosNuevos cementos para el hormigón prefabricado. Perspectiva desde los aditivos
Nuevos cementos para el hormigón prefabricado. Perspectiva desde los aditivos
ANDECE34 vues
LAS PALABRAS INVARIABLES (2023-2024).pptx par lclcarmen
LAS PALABRAS INVARIABLES (2023-2024).pptxLAS PALABRAS INVARIABLES (2023-2024).pptx
LAS PALABRAS INVARIABLES (2023-2024).pptx
lclcarmen63 vues
APLICACION DE LOS MATERIALES par andy20031
APLICACION DE LOS MATERIALES APLICACION DE LOS MATERIALES
APLICACION DE LOS MATERIALES
andy2003113 vues
TAREA_5_CONTABILIDAD.pdf par matepura
TAREA_5_CONTABILIDAD.pdfTAREA_5_CONTABILIDAD.pdf
TAREA_5_CONTABILIDAD.pdf
matepura11 vues
Oportunidades para el desarrollo sostenible de los prefabricados par ANDECE
Oportunidades para el desarrollo sostenible de los prefabricadosOportunidades para el desarrollo sostenible de los prefabricados
Oportunidades para el desarrollo sostenible de los prefabricados
ANDECE14 vues
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS par INGENIERIAJFB
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOSPROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS
INGENIERIAJFB8 vues

clase 7 GRAFICOS 2D.pdf

  • 1. GRÁFICOS EN MATLAB UNIVERSIDAD PERUANA DEL CENTRO FACULTAD DE INGENIERIA ESCUELA PROFESIONAL DE INGENIERIA CIIVIL MSc.HugoF.CAÑARIMARTICORENA
  • 2. GRAFICOS EN 2D Las tablas de datos muy grandes son difíciles de interpretar. Los ingenieros usan técnicas de graficación para hacer que la información se entiendan fácilmente. Con una gráfica es fácil identificar tendencias, elegir altos y bajos y aislar puntos de datos que pueden ser mediciones o cálculos de errores. Las gráficas también se pueden usar como una rápida verificación para determinar si una solución de computadora produce los resultados esperados . Con los siguientes comandos que veremos a continuación podremos graficar datos en Matlab. Una vez definidos los vectores de valores x y valores y, MATLAB hace fácil la creación de gráficas. Primero vamos a crear los datos x-y. Supongamos que estos datos fueron obtenidos en la medición de una función con relación al tiempo.
  • 3. X=0:0.1:10; %Datos en y (será el tiempo) Y=2*sin(X); %Función Seno dependiente del tiempo Para Graficar usamos la función plot(X,Y), para colocar títulos usamos title, para colocar etiquetas en x y y usamos xlabel() y ylabel() respectivamente, para colocar rejilla usamos el grid y para colocar una legenda usamos legend().
  • 4. Vamos a graficar una función en Matlab, en este caso estamos hablando de la funcion Seno. plot(X,Y) title('Función Seno') %Coloca un título al grafico xlabel('tiempo(s)') % Coloca titulo al eje x ylabel('X=2*sin(Y)') % Coloca titulo al eje y grid on % Coloca una grilla al grafico
  • 6. COMO GRAFICAR VARIAS FUNCIONES EN MATLAB Al momento de hacer una gráfica en MATLAB y luego hacer más cálculos y hacer una segunda gráfica, MATLAB va a sobrescribir la primera gráfica. Si no deseamos esto, debemos usar el comando hold. Dicho comando nos permite superponer graficas en MATLAB. Continuando entonces con la grafica del seno anterior, vamos a aprender como graficar varias funciones en matlab, para eso procedemos a graficar el coseno sobre la misma figura para ver ambas funciones.
  • 7. Z=cos(4*X); %Crea función Coseno y lo guarda en Z hold %Mantiene las dos funciones en la misma figura plot(X,Z) %Grafica el Coseno legend('Seno','Coseno'); %Crea una L
  • 8. Tambien podemos hacer estas graficas en una sola línea usando el comando plot y separando cada función por comas. plot(X,Y,X,Z) %Grafica el seno y el coseno o podemos separar cada función en dos figuras diferentes anteponiendo el comando figure(x) figure(1) %Figura 1 plot(X,Y) %Función Seno figure(2) %Figura 2 plot(X,Z) %Función Coseno
  • 9. VARIAS VENTANAS DE GRAFICAS EN MATLAB Podemos hacer las dos graficas separadas en una misma figura con el comando subplot. Este comando me permite crear 2 graficas en una ventana en MATLAB o también crear multiples graficos en MATLAB. el comando se hace subplot(m,n,p); rompe la ventana de la Figura en una matriz m-n de ejes pequeños, selecciona el eje p-th para la gráfica actual. figure subplot(2,1,1) %Divide una figura en 2 filas y 1 columna plot(X,Y) %Grafica seno en el eje 1 subplot(2,1,2) %Divide una figura en 2 filas y 1 columna plot(X,Z) %Grafica coseno en el eje 2
  • 11. DECORAR GRÁFICAS EN MATLAB Puede cambiar la apariencia de sus gráficas al seleccionar estilo y color de línea definidos por el usuario y al elegir mostrar los puntos de datos en la gráfica con estilos de marca definidos por el usuario. A continuación hay una tabla con un resumen de los parametros con los cuales se puede decorar graficas o cambiar atributos en MATLAB.
  • 14. Podemos cambiar también el tamaño de las líneas con Linewidth y el tamaño de las fuentes con FontSize, Para cambiar la fuente de los Axes usar el comando gca. plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3) title('Función Seno' ,'FontSize',15) %Coloca un título al grafico xlabel('tiempo(s)' ,'FontSize',10) % Coloca titulo al eje x ylabel('X=2*sin(Y); Z=cos(4*X)' ,'FontSize',18) % Coloca titulo al eje y set(gca,'FontSize',(14) ) % Tamaño del Axe
  • 16. AJUSTAR EJES EN MATLAB MATLAB selecciona automáticamente escalamientos adecuados en los ejes x y y. A veces es útil para el usuario tener la capacidad de controlar el escalamiento. El control se logra con la función axis. axis([XMIN XMAX YMIN YMAX]) plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3) axis([2,8,-1,1]);
  • 18. ANOTACIONES EN GRÁFICOS EN MATLAB También es posible hacer anotaciones en las graficas de MATLAB. text(X,Y,’Anotación’) Puede usar letras griegas en sus etiquetas al poner una diagonal inversa () antes del nombre de la letra. Por ejemplo alpha, beta, gamma, rho, etc plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3) text(3,1.5,'funciones en frecuencia') title('Función X=sin(alpha)')
  • 20. PARÁMETROS DEL PLOT El comando plot ofrece opciones adicionales para controlar la forma en que aparece la gráfica. Use la función help para aprender más acerca de cómo controlar la apariencia de la gráfica.
  • 21. EJERCICIOS 1.- >> x=[1 3 0 -3];y=[1 2 4 6]; >> plot(x,y) 2.- Representar gráficamente las siguientes funciones en ventanas diferentes, f(x)=sen(x), g(x)=x2+3x en el intervalo [0,2π]. >> x=linspace(0,2*pi,100); >> y=sin(x); z=x.^2+3*x; >> plot(x,y) >> plot(x,z) 2.1. x=linspace(0,10,100); >> y=sin(x); >> plot(x,y)
  • 22. REPRESENTAR LA GRÁFICA DE LA FUNCIÓN F(X)=XSen(X) EN EL INTERVALO [0,2Π], CON REJILLA. >> x=linspace(0,2*pi,100); >> y=x.*sin(x); >> plot(x,y) >> grid
  • 23. REPRESENTAR F(X)=sen(X)cos(X) EN [0,2Π], CON ETIQUETAS EN LOS EJES, TÍTULO Y EN COLOR ROJO. >> x=linspace(0,2*pi,100); >> y=sin(x).*cos(x); >> plot(x,y,'r') >> xlabel('eje x') >> ylabel('eje y') >> title('funcion sen(x)cos(x)')
  • 24. REPRESENTAR EN [0,6] Y EN LA GRÁFICA LAS FUNCIONES: A. F(X)=3XEX EN AZUL. B. G(X)=SEN(X+3) EN ROJO Y CON TRAZO DISCONTINUO Y PONER LEYENDAS. >> x=linspace(0,6,100); >> y=3*x.*exp(x); >> z=sin(x+3); >> plot(x,y) >> hold on >> plot(x,z,'r--') >> hold off >> legend('primera funcion', 'segunda funcion') x = 0:pi/100:2*pi; y = sin(x); plot(x,y)
  • 25. REPRESENTAR EN LA MISMA GRÁFICA PERO EN DISTINTAS VENTANAS LAS SIGUIENTES FUNCIONES: X, X2, X3, X4, X5, X6. LAS PARES EN COLOR ROJO Y CON REJILLA, LAS IMPARES EN AZUL Y SIN REJILLA. >> x=-1:0.1:1; >> y1=x; y2=x.^2; y3=x.^3; y4=x.^4; y5=x.^5; y6=x.^6; >> subplot(3,2,1), plot(x,y1) >> subplot(3,2,2), plot(x,y2,'r'), grid >> subplot(3,2,3), plot(x,y3) >> subplot(3,2,4), plot(x,y4,'r'), grid >> subplot(3,2,5), plot(x,y5) >> subplot(3,2,6), plot(x,y6,'r'), grid
  • 26. >> x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); >> plot(x,y1,x,y2) >> >> y = magic (4) >> plot (y)
  • 27. >> x = 0:pi/100:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); >> plot(x,y1,x,y2,'--',x,y3,':') >>
  • 28. >> x = 0:pi/10:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); >> plot(x,y1,'g',x,y2,'b--o',x,y3,'c*') >> >> x = linspace(0,10); y = sin(x); plot(x,y,'-o','MarkerIndices',1:5:length(y)) >>
  • 29. >> x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); >> plot(x,y,'--gs',... 'LineWidth',2,... 'MarkerSize',10,... 'MarkerEdgeColor','b',... 'MarkerFaceColor',[0.5,0.5,0.5])
  • 30. >> x = linspace(0,10,150); y = cos(5*x); >> plot(x,y,'Color',[0,0.7,0.9]) title('2-D Line Plot') xlabel('x') ylabel('cos(5x)') >> >> t = 0:seconds(30):minutes(3); y = rand(1,7); plot(t,y,'DurationTickFormat','mm:ss') >>
  • 31. >> x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); p = plot(x,y1,x,y2); >> p(1).LineWidth = 2; p(2).Marker = '*'; >>
  • 32. >> r = 2; xc = 4; yc = 3; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; plot(x,y) axis equal >>
  • 34. EJEMPLOS VARIOS x = 0:pi/100:2*pi; y = sin(x); PLOT(x,y)
  • 35. x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); figure plot(x,y1,x,y2)
  • 36. Y = magic(4) Y = 4×4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 figure plot(Y)
  • 37. x = 0:pi/100:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); figure plot(x,y1,x,y2,'--',x,y3,':')
  • 38. x = 0:pi/10:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); Figure plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
  • 39. x = linspace(0,10); y = sin(x); plot(x,y,'-o','MarkerIndices',1:5:length(y))
  • 40. x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); figure plot(x,y,'--gs','LineWidth',2,'MarkerSize',10,… 'MarkerEdgeColor','b',... 'MarkerFaceColor',[0.5,0.5,0.5])
  • 41. x = linspace(0,10,150); y = cos(5*x); figure plot(x,y,'Color',[0,0.7,0.9]) title('2-D Line Plot’) xlabel('x’) ylabel('cos(5x)')
  • 42. t = 0:seconds(30):minutes(3); y = rand(1,7); plot(t,y,'DurationTickFormat','mm:ss')
  • 43. x = linspace(0,3); y1 = sin(5*x); y2 = sin(15*x); tiledlayout(2,1) % Top plot ax1 = nexttile; plot(ax1,x,y1) title(ax1,'Top Plot’) ylabel(ax1,'sin(5x)’) % Bottom plot ax2 = nexttile; plot(ax2,x,y2) title(ax2,'Bottom Plot’) ylabel(ax2,'sin(15x)')
  • 44. x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); p = plot(x,y1,x,y2);
  • 46. r = 2; xc = 4; yc = 3; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; plot(x,y) axis equal
  • 47. X=0:0.1:10; %Datos en y (será el tiempo) Y=2*sin(X); %Función Seno dependiente del tiempo plot(X,Y) title('Función Seno') %Coloca un título al grafico xlabel('tiempo(s)') % Coloca titulo al eje x ylabel('X=2*sin(Y)') % Coloca titulo al eje y grid on % Coloca una grilla al grafico Z=cos(4*X); %Crea función Coseno y lo guarda en Z hold %Mantiene las dos funciones en la misma figura plot(X,Z) %Grafica el Coseno legend('Seno','Coseno'); %Crea una L
  • 50. plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3) title('Función Seno' ,'FontSize',15) %Coloca un título al grafico xlabel('tiempo(s)' ,'FontSize',10) % Coloca titulo al eje x ylabel('X=2*sin(Y); Z=cos(4*X)' ,'FontSize',18) % Coloca titulo al eje y set(gca,'FontSize',(14) ) % Tamaño del Axe
  • 52. plot(X,Y,'-c',X,Z,'--k' ,'Linewidth',3) text(3,1.5,'funciones en frecuencia') title('Función X=sin(alpha)')
  • 53. >>x = [-2 -1 0 1 2 3]; >>y = [4 1 0 1 4 9]; >> plot (x,y) >> x = [-2 -1 0 1 2 3]; >> y = [4 1 0 1 4 9]; >>z = [6 5 3 7 5 2]; >> plot (x,y,x,z) ...... >> plot (x,y,'*’) >> x = [-2 0 2 0 -2]; y = [4 8 4 0 4]; >> plot (x,y) >> x = [-2 0 2 0 -2]; >> y = [4 8 4 0 4]; >> fill (x,y,'r') % dibuja el polígono, 'r' indica el color rojo >> x=[3 3 7 7]; >> y=[5 6.5 6.5 5]; >> fill(x,y,'r’) >> axis([0 10 4 7.5]) >> x=[3 3 7 7]; >> y=[5 6.5 5 6.5]; >> fill(x,y,'r’) >> axis([0 10 4 7.5])
  • 54. >> x = 1:360; y1 = sind (x); y2 = cosd (x); y3 = exp (x); y4 = exp (-x); >> subplot (2,2,1), plot (x,y1), title ('seno') >> subplot (2,2,2), plot (x,y2), title ('coseno') >> subplot (2,2,3), plot (x,y3), title ('exponencial') >> subplot (2,2,4), plot (x,y4), title ('-exponencial')
  • 56. GRÁFICOS: 2D Funciones gráficas 2D elementales: MATLAB dispone de 4 funciones básicas para crear gráficos 2-D. Estas se diferencian principalmente por el tipo de escala que utilizan en los ejes Estas cuatro funciones son las siguientes: • plot() crea un gráfico a partir de vectores y/o columnas de matrices, con escalas lineales sobre ambos ejes. • loglog() ídem con escala logarítmica en ambos ejes. • semilogx() ídem con escala lineal en el eje de ordenadas y logarítmica en el eje de abscisas. • semilogy() ídem con escala lineal en el eje de abscisas y logarítmica en el eje de ordenadas.
  • 57. GRÁFICOS: 2D______________________________ Existen funciones orientadas a añadir títulos al gráfico, a los ejes, a dibujar una cuadrícula auxiliar, a introducir texto, etc. • title('título') añade un título al dibujo • xlabel('tal') añade una etiqueta al eje de abscisas. •Con xlabel off desaparece • ylabel('cual') idem al eje de ordenadas. •Con ylabel off desaparece • text(x,y,'texto') introduce 'texto' en el lugar especificado por las coordenadas x e y. Si x e y son vectores, el texto se repite por cada par de elementos. •gtext('texto') introduce texto con ayuda del ratón: •legend() define rótulos para las distintas líneas o ejes utilizados en la figura. • grid activa una cuadrícula en el dibujo. • Con grid off desaparece la cuadrícula
  • 58. GRÁFICOS: 2D ______________________________ plot es la función clave de todos los gráficos 2-D en MATLAB. Ya se ha dicho que el elemento básico de los gráficos bidimensionales es el vector. Se utilizan también cadenas de 1, 2 ó 3 caracteres para indicar colores y tipos de línea. La función plot(), no hace otra cosa que dibujar vectores. Ejemplo1: » x=[1 3 2 4 5 3] x = 1 3 2 4 5 3 » plot(x) Figura 5.1. Gráfico del vector x=[1 3 2 4 5 3].
  • 59. GRÁFICOS: 2D ______________________________ FUNCIÓN PLOT Ejemplo2 x=0:pi/90:2*pi; y=sin(x).*cos(x); plot(x,y) grid on grid off xlabel(‘eje x (en radianes)’) ylabel(‘eje y’) title(‘y=sen(x)*cos(x)’)
  • 60. GRÁFICOS: 2D ______________________________ FUNCIÓN PLOT Es posible incluir en el título o en la etiqueta de los ejes el valor de una variable numérica. Ya que el argumento de los comandos title, xlabel e ylabel es una variable carácter, es preciso transformar las variables numéricas int2str(n) convierte el valor de la variable entera n en carácter num2str(x) convierte el valor de la variable real o compleja x en carácter
  • 61. GRÁFICOS: 2D ______________________________ Texto sobre la gráfica gtext(’texto’) text(x,y,’texto a imprimir’) Calcular las coordenadas de puntos sobre la curva ginput(n) [x,y]=ginput(n) Elección del trazo y color de la curva plot(x,y,’opcion’) hold on hold off
  • 62. y yellow . point - solid m magenta o circle : dotted c cyan x x-mark -. dashdot r red + plus -- dashed g green * star b blue s square w white d diamond k black v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram Opciones de plot
  • 63. Ejemplo3: Calcular gráficamente las soluciones de la ecuación teta=0:pi/360:pi/4; f1=(2*teta-cos(2*teta))/2; f2=0.4*ones(size(f1)); figure plot(teta,f1,'g--',teta,f2,'r') axis square xlabel('Angulo (radianes)') gtext('2x-cos(2x))/2') text(0.2,0.43,'y=0.4') [teta0,y0]=ginput(1) title(['Raiz aproximada=',num2str(teta0)]) 4 . 0 2 ) 2 cos( 2 = − x x
  • 64. Elección de la escala de los ejes axis([x0 x1 y0 y1]) axis auto: devuelve la escala a la de defecto axis off: desactiva los etiquetados de los ejes desapareciendo los ejes sus etiquetas y la grid. axis on: lo activa de nuevo axis xy: sistema de coordenas cartesianas origen en el ángulo inferior izquierdo, eje ox de izqda. A dcha. y oy de abajo a arriba. axis equal: los mismos factores de escala para los dos ejes axis square: cierra con un cuadrado la región delimitada por los ejes de coordenadas actuales.
  • 65. Impresión de gráficas print -dps % PostScript for black and white printers -dpsc % PostScript for color printers -deps % Encapsulated PostScript -depsc % Encapsulated Color PostScript print -djpeg<nn> % JPEG imagen, nn nivel de calidad Ejemplo. print - djpeg90 figura1 (nn 75 por defecto)
  • 66. Ejemplo4: plot(vector,Matriz) x=0:pi/180:2*pi; y=sin(x); z=cos(x); plot(x,y,x,z) A=[y' z'] plot(x,A) Función eval se utiliza con funciones definidas con un carácter. y=eval(’caracter’) Ejemplo5: f=‘sin(x)-2*cos(x)’; x=0:pi/90:2*pi; y=eval(f); plot(x,y) axis([0 6 0 2.4]);gtext(‘sen(x)-2cos(x)’)
  • 67. Función fplot se utiliza con funciones definidas con un carácter. fplot=(f,[0 2*pi ymin ymax]) Ejemplo6: f=‘sin(x)-2*cos(x)’; fplot(f,[0 2*pi],’g—’) Esta función puede utilizarse también en la forma: [x,y]=fplot(f,[0 2*pi ymin ymax]) y en este caso se devuelven los vectores x e y, pero no se dibuja nada. Llamar una nueva figura figure o referirnos a una figura ya echa figure(n) Borrar la figura actual clf close all borra todas las figuras close(figure(n)) la n
  • 68. FUNCIÓN SUBPLOT Una ventana gráfica se puede dividir en m particiones horizontales y n verticales, con objeto de representar múltiples gráficos en ella. Cada una de estas subventanas tiene sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma general de este comando es: subplot(m,n,i) donde m y n son el número de subdivisiones en filas y columnas, e i es la subdivisión que se convierte en activa. Las subdiviones se numeran consecutivamente empezando por las de la primera fila, siguiendo por las de la segunda, etc.
  • 70. Otras funciones gráficas 2-D • bar() crea diagramas de barras. • barh() diagramas de barras horizontales. • bar3() diagramas de barras con aspecto 3-D. • bar3h() diagramas de barras horizontales con aspecto 3-D. • pie() gráficos con forma de “tarta”. • pie3() gráficos con forma de “tarta” y aspecto 3-D. • area() similar plot(), pero rellenando en ordenadas de 0 a y. • stairs() función análoga a bar() sin líneas internas. • errorbar() representa sobre una gráfica –mediante barras– valores de errores. • compass() dibuja los elementos de un vector complejo como un conjunto de vectores partiendo de un origen común. • feather() dibuja los elementos de un vector complejo como un conjunto de vectores partiendo de orígenes uniformemente espaciados sobre el eje de abscisas. • hist() dibuja histogramas de un vector.
  • 71. Representación de polígonos función especial para dibujar polígonos planos, rellenándolos de un determinado color. La forma general es la siguiente: » fill(x,y,c) · Si c es un carácter de color ('r','g','b','c','m','y','w','k'), o un vector de valores [r g b], el polígono se rellena de modo uniforme con el color especificado. · Si c es un vector de la misma dimensión que x e y, sus elementos se trasforman de acuerdo con un mapa de colores determinado, y el llenado del polígono –no uniforme en este caso–se obtiene interpolando entre los colores de los vértices. Este comando con matrices:
  • 72. » fill(A,B,C) donde A y B son matrices del mismo tamaño. En este caso se dibuja un polígono por cada par de columnas de dichas matrices. C puede ser un vector fila de colores uniformes para cada polígono, o una matriz del mismo tamaño que las anteriores para obtener colores de relleno por interpolación. Ejemplo8: x=[1,2,1,0]; y=[0,1,2,1]; figure fill(x,y,’r’) title(‘rombo’)
  • 73. GRÁFICOS: 2D Y 3D______________________________ Funciones gráficas 3D elementales: La función plot3 es análoga a su homóloga bidimensional plot. Su forma más sencilla es la siguiente: » plot3(x,y,z) Ejemplo9: teta=0:pi/80:8*pi; x=1+2*cos(teta); y=1+2*sin(teta); z=4*teta; plot3(x,y,z) axis([-1 3 -1 3 0 120]); xlabel('eje x') ylabel('eje y') zlabel('eje z')
  • 74. GRÁFICOS: 2D Y 3D______________________________ Representación gráfica de superficies. mesh(x,y,Z), Creación de una malla [X, Y]=meshgrid(x,y) Gráfica de la malla construida sobre la superficie z mesh(X,Y,Z), meshz(X,Y,Z) Además hace una proyección sobre el plano z=0, meshc(X,Y,Z), líneas de contorno en el plano z=0 Ejemplo10: x=[0:2:200];y=[0:50]; %Obtenemos la malla del dominio [X Y]=meshgrid(x,y); length(x),length(y) size(X), size(Y) Z=X.^2-Y.^2; figure(1);mesh(X,Y,Z) figure(2);meshz(X,Y,Z) figure(3);meshc(X,Y,Z)
  • 75. GRÁFICOS: 2D Y 3D______________________________ Lo mismo con surf(X,Y,Z), surfc(X,Y,Z), surfl(X,Y,Z) Una forma distinta de representar funciones tridimensionales es por medio de isolíneas o curvas de nivel. Con contour(x,y,Z) y con contour3(X,Y,Z) generamos las líenas de nivel de una superficie. Existen etiquetas especiales, primero necesitamos saber los valores del contorno cs=contour(Z) y luego ponemos clabel(cs) o clabel(cs,v) pcolor(Z) dibuja una proyección con sombras de color sobre el plano, la gama de colores está en consonancia con las variaciones de la matriz Z. La función surf y pcolor tiene diversas posibilidades referentes a la forma en que son representadas las facetas o polígonos coloreados. Las tres posibilidades son las siguientes: • shading flat: determina sombreado con color constante para cada polígono. Este sombreado se llama plano o flat. • shading interp: establece que el sombreado se calculará por interpolación de colores entre los vértices de cada faceta. Se llama también sombreado de Gouraud • shading faceted: consiste en sombreado constante con líneas negras superpuestas. Esta es la opción por defecto
  • 76. Cuando se desea dibujar una figura con un determinado mapa de colores se establece una correspondencia (o un mapping) entre los valores de la función y los colores del mapa de colores. » caxis([cmin, cmax]) %escala el mapa de colores colormap(opcion). Distintas escalas de colores hsv - Hue-saturation-value color map. hot - Black-red-yellow-white color map. gray - Linear gray-scale color map. bone - Gray-scale with tinge of blue color map. copper - Linear copper-tone color map. pink - Pastel shades of pink color map. white - All white color map. flag - Alternating red, white, blue, and black color map. lines - Color map with the line colors. colorcube - Enhanced color-cube color map. vga - Windows colormap for 16 colors. jet - Variant of HSV. prism - Prism color map. cool - Shades of cyan and magenta color map. autumn - Shades of red and yellow color map. spring - Shades of magenta and yellow color map. winter - Shades of blue and green color map. summer - Shades of green and yellow color map. GRÁFICOS: 2D Y 3D______________________________
  • 77. colorbar(‘horiz’), colorbar(‘vertical’) %barra con la escala de colores. brighten ajusta el brillo de color del mapa de colores [X,Y,Z]=sphere(n) dibuja una representación de la esfera unidad con n puntos de discretización [X,Y,Z]=cylinder(rad,n) dibuja una representación de un cilindro unidad con n puntos igualmente espaciados cuya sección viene dada por la curva cuyos radios se guardan en el vector rad. (1,1) y 20 valores por defecto. fill3(x,y,z,c) %polígonos tridimensionales GRÁFICOS: 2D Y 3D______________________________
  • 78. GRÁFICOS: 2D Y 3D______________________________ Manipulación de gráficos view: view(azimut, elev), view([xd,yd,zd]). view(2) view(3) rotate(h,d,a) o rotate(h,d,a,o) h es el objeto, d es un vector que indica la dirección y a un ángulo, o el origen de rotación En el dibujo de funciones tridimensionales, a veces también son útiles los NaNs. Cuando una parte de los elementos de la matriz de valores Z son NaNs, esa parte de la superficie no se dibuja, permitiendo ver el resto de la superficie.
  • 79. GRÁFICOS: 2D Y 3D______________________________ hidden off desactiva le eliminación de líneas escondidas hidden on situación previa
  • 80. GRÁFICOS: 2D Y 3D______________________________ Transformación de coordenadas [ang,rad]=cart2pol(x,y) %De cartesianas a polares [ang,rad,z]=cart2pol(x,y,z) %De cartesianas a cilindricas [x,y]=pol2cart(ang,rad) %De polares a cartesianas [x,y,z]=pol2cart(ang,rad,z) %De cilindricas a cartesianas [angx,angz,rad]=cart2sph(x,y,z) %De cartesianas a esfericas [x,y,z]=aph2cart(angx,angz,rad) %De esfericas a cartesianas Ejemplo11: %cilindricas [ang,rad,z]=cart2pol(sqrt(3),1,2) %esfericas [ang1,ang2,rad1]=cart2sph(sqrt(3),1,2)
  • 81. GRÁFICOS: 2D Y 3D______________________________ Creación de películas Para preparar pequeñas películas o movies se pueden utilizar las funciones movie, moviein y getframe. Una película se compone de varias imágenes, denominadas frames. La función getframe devuelve un vector columna con la información necesaria para reproducir la imagen que se acaba de representar en la figura o ventana gráfica activa, por ejemplo con la función plot. El tamaño de este vector columna depende del tamaño de la ventana, pero no de la complejidad del dibujo. La función moviein(n) reserva memoria para almacenar n frames. Una vez creada la película se puede representar el número de veces que se desee con el comando movie. Ejemplo12: for j=1:10 x=0:0.01:2*pi; plot(x,sin(j*x)/2) M(j)=getframe; end movie(M,10)
  • 82. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.1: Consideremos la ecuación de Van der Waals. Se considera el benceno para el cual a=18.78 atml2/mol2, b=0.1208 l/mol. Representar sobre una misma gráfica las dos subgráficas correspondientes a: Isotermas de 100, 200, 300 y 400 ºC Isobaras de 25, 35, 45 y 55 atm Cada curva debe ir con trazo diferenciado, con el texto que indique la isolínea que se ha representado, así como el título de la gráfica y la etiqueta de los ejes. R=0.0821 y V=[2:100]; RT b V V a P = − + ) )( ( 2
  • 83. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.1: a=18.78; b=0.1208; R=0.0821; subplot(1,2,1) T=[373:100:673]; V=[2:100]; fac1=R./(V-b); fac2=a./V.^2; P=zeros(4,length(V)); P(1,:)=T(1)*fac1-fac2; P(2,:)=T(2)*fac1-fac2; P(3,:)=T(3)*fac1-fac2; P(4,:)=T(4)*fac1-fac2; plot(V,P(1,:),'-',V,P(2,:),'--',V,P(3,:),':',V,P(4,:),'-.') title('Ecuacion de Van der Waals: Isotermas') xlabel('Volumen, ltr.') ylabel('Presion, atm.') axis([0, 50,0,15]) legend('T=100ºC','T=200ºC','T=300ºC','T=400ºC')
  • 84. GRÁFICOS: 2D Y 3D______________________________ subplot(1,2,2) P=[25:10:55]; T=zeros(4,length(V)); fac1=(V-b)/R; T(1,:)=((P(1)+fac2).*fac1)-273.15; T(2,:)=((P(2)+fac2).*fac1)-273.15; T(3,:)=((P(3)+fac2).*fac1)-273.15; T(4,:)=((P(4)+fac2).*fac1)-273.15; plot(V,T(1,:),'-',V,T(2,:),'--',V,T(3,:),':',V,T(4,:),'-.') title('Ecuacion de Van der Waals: Isobaras') xlabel('Volumen, ltr.') ylabel('Temperatura, ºC') legend('P=25 atm.','P=35 atm.','P=45 atm.','P=55 atm.')
  • 85. GRÁFICOS: 2D Y 3D______________________________
  • 86. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.2 Dada la función f(x,y)=xy, obtener sobre una ventana gráfica las representaciones siguientes: -La superficie definida por la función sobre el dominio [-10,10]*[-10,10]. -Las líneas de contorno sobre la superficie -La proyección de las líneas de contorno sobre el domino de definición -La proyección de las líneas de contorno sobre el plano xy correspondientes a los valores –4,-1, 1 y 4.
  • 87. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.2 x=[-10:0.5:10]; y=x; [X,Y]=meshgrid(x,y); Z=X.*Y; subplot(221) mesh(X,Y,Z) legend('z=xy') xlabel('eje x') ylabel('eje y') zlabel('eje z') title('superficie z=xy') subplot(222) contour3(Z) grid off xlabel('eje x') ylabel('eje y')
  • 88. GRÁFICOS: 2D Y 3D______________________________ zlabel('eje z') title('lineas de contorno 3D') subplot(223) cs=contour(Z); contour(x,y,Z) grid off clabel(cs) xlabel('eje x') ylabel('eje y') title('Proyeccion de las lineas de contorno') subplot(224) contour(Z,[-4,-1,1,4]) grid off xlabel('eje x') ylabel('eje y') title('Proyeccion de las lineas de contorno')
  • 89. GRÁFICOS: 2D Y 3D______________________________
  • 90. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.3 Representar la superficie de revolución obtenida al girar la curva y=x2+1 alrededor del eje ox x=[0:0.1:1];
  • 91. GRÁFICOS: 2D Y 3D______________________________ Ejercicio5.3 x=[0:0.1:1]; %puntos de discretizacion del eje ox rad=x.^2+1; %vector de radios n=length(rad); %numero de radios cylinder(rad,n) %representacion del cilindro xlabel('eje x') ylabel('eje y') zlabel('eje z') [X,Y,Z]=cylinder(rad,n); h=surf(X,Y,Z); %calculo del objeto rotate(h,[0,1,0],90) %Al rotar desaparecen las etiquetas de los ejes xlabel('eje x') ylabel('eje y') zlabel('eje z') view(15,15) %cambiamos el punto de observacion grid off legend('f(x)=x^2+1')
  • 92. GRÁFICOS: 2D Y 3D______________________________