SlideShare ist ein Scribd-Unternehmen logo
1 von 95
Downloaden Sie, um offline zu lesen
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
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
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.
%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
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]);
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)')
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
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')
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

Weitere ähnliche Inhalte

Ähnlich wie clase 7 GRAFICOS 2D.pdf

Matlab 2 Capitulo 6
Matlab 2 Capitulo 6Matlab 2 Capitulo 6
Matlab 2 Capitulo 6guest4f4d78d
 
Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabJuan Ete
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoSANTIAGO PABLO ALBERTO
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bN0VA6
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bN0VA6
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bN0VA6
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlabMarc Llanos
 

Ähnlich wie clase 7 GRAFICOS 2D.pdf (20)

Graficos matlab
Graficos matlabGraficos matlab
Graficos matlab
 
Graficos matlab
Graficos matlabGraficos matlab
Graficos matlab
 
Matlab 2 Capitulo 6
Matlab 2 Capitulo 6Matlab 2 Capitulo 6
Matlab 2 Capitulo 6
 
Gráficas en matlab
Gráficas en matlabGráficas en matlab
Gráficas en matlab
 
Clase 3 (1)
Clase 3 (1)Clase 3 (1)
Clase 3 (1)
 
Graficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlabGraficas en 2 d y 3d matlab
Graficas en 2 d y 3d matlab
 
Electrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicadoElectrónica: Tutorial de Matlab aplicado
Electrónica: Tutorial de Matlab aplicado
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Graficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do bGraficas en matlab juan villacis 2 do b
Graficas en matlab juan villacis 2 do b
 
Plots
PlotsPlots
Plots
 
Graficos en matlab
Graficos en matlabGraficos en matlab
Graficos en matlab
 
Gráficos en matlab
Gráficos en matlabGráficos en matlab
Gráficos en matlab
 
matlab
matlabmatlab
matlab
 
Graficas en matlab
Graficas en matlabGraficas en matlab
Graficas en matlab
 
Graficas
GraficasGraficas
Graficas
 
Mat lab03
Mat lab03Mat lab03
Mat lab03
 
Estadística con Lenguaje R: Sesión 9
Estadística con Lenguaje R: Sesión 9Estadística con Lenguaje R: Sesión 9
Estadística con Lenguaje R: Sesión 9
 
Matlab graficos3 d
Matlab graficos3 dMatlab graficos3 d
Matlab graficos3 d
 
Gráficas en Matlab
Gráficas en MatlabGráficas en Matlab
Gráficas en Matlab
 

Mehr von NandoMartiHufer

Mehr von NandoMartiHufer (10)

EL INGENIERO Y SU ETHOS.pdf
EL INGENIERO Y SU ETHOS.pdfEL INGENIERO Y SU ETHOS.pdf
EL INGENIERO Y SU ETHOS.pdf
 
clase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdfclase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdf
 
clase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdfclase 06 VALORES ING CIVIL.pdf
clase 06 VALORES ING CIVIL.pdf
 
clasificacioneseticas - CLASE 2.pdf
clasificacioneseticas - CLASE 2.pdfclasificacioneseticas - CLASE 2.pdf
clasificacioneseticas - CLASE 2.pdf
 
CLASE 04.pdf
CLASE 04.pdfCLASE 04.pdf
CLASE 04.pdf
 
CLASE 05.pdf
CLASE 05.pdfCLASE 05.pdf
CLASE 05.pdf
 
practica 6.pdf
practica 6.pdfpractica 6.pdf
practica 6.pdf
 
GRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdfGRAFICOS POLARES CLASE 8 2023.pdf
GRAFICOS POLARES CLASE 8 2023.pdf
 
CLASE 01.pdf
CLASE 01.pdfCLASE 01.pdf
CLASE 01.pdf
 
clase 1.pptx
clase 1.pptxclase 1.pptx
clase 1.pptx
 

Kürzlich hochgeladen

Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfGabrielCayampiGutier
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónmaz12629
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upnDayronCernaYupanquiy
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUManuelSosa83
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimientoMaxanMonplesi
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023RonaldoPaucarMontes
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 

Kürzlich hochgeladen (20)

Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
UNIDAD II 2.pdf ingenieria civil lima upn
UNIDAD  II 2.pdf ingenieria civil lima upnUNIDAD  II 2.pdf ingenieria civil lima upn
UNIDAD II 2.pdf ingenieria civil lima upn
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERUQUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
QUIMICA GENERAL UNIVERSIDAD TECNOLOGICA DEL PERU
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Gestion de proyectos para el control y seguimiento
Gestion de proyectos para el control  y seguimientoGestion de proyectos para el control  y seguimiento
Gestion de proyectos para el control y seguimiento
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
413924447-Clasificacion-de-Inventarios-ABC-ppt.ppt
 

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
  • 5.
  • 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
  • 10.
  • 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.
  • 12.
  • 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
  • 15.
  • 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]);
  • 17.
  • 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)')
  • 19.
  • 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
  • 48.
  • 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')
  • 55.
  • 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______________________________