Sei sulla pagina 1di 26

1

PRACTICA 1: GRAFICOS EN MATLAB

1. OBJETIVOS:
 Conocer comprender y practicar los comandos utilizados para crear gráficas con Matlab
 Contrastar y diferenciar los comandos utilizados para gráficas en dos y tres dimensiones
2. MARCO TEÓRICO.

3. DESARROLLO.
3.1 GRAFICOS 2D
3.1.1 Representación gráfica básica
La orden de dibujo más simple es plot. Esta función puede ser utilizada de muchas
maneras.
En primer lugar puede usarse para representar las componentes de un vector.
Por ejemplo, supongamos que el vector:
>> v=[15.6 16.2 18 17 16.5 15]

refiere las temperaturas (en °C) medidas cada cuatro horas en una estación meteorológica.
Para hallar el gráfico, simplemente escriba el comando:
>> plot (v)

En la representación grafica de un vector o matriz fila


v=[15.6 16.2 18 17 16.5 15];
se muestra la gráfica que podría representar las diferentes
temperaturas cada cierto tiempo o alguna otra variable.
3

Suponga ahora que se conoce la hora a la que se realizó cada medida y que debe aparecer
en el eje horizontal. Sea t = [4 8 12 16 20 24] el vector que contiene dichos datos, la orden
que se requiere es:
>> plot (t,v)

v= [15.6 16.2 18 17 16.5 15]; t = [4 8 12 16 20 24]; en contraste con


la anterior explicación aquí se define la variable del tiempo que
se incrementa en un valor de 4 horas cada intervalo en relación
con la temperatura.
4

Puede añadir texto explicativo a los ejes y al propio gráfico. Para ello, escriba:
>> xlabel('hora')
>> ylabel('temperatura')
>> title('Datos estación meteorológica')

% Podemos notar la inclusión de un título del grafico un nombre


para el eje horizontal y otro nombre para el vertical, de este
modo se puede añadir alguna descripción de los resultados
gráficos%

v=[15.6 16.2 18 17 16.5 15];


t = [4 8 12 16 20 24];
plot (t,v)
xlabel('hora')
ylabel('temperatura')
title('Datos estación meteorológica')
5

También se puede superponer gráficos sobre los mismos ejes. Sea w= [16.5 17 17.5 18 16
15] el vector de otras medidas. Ejecute la orden:
>> plot (t,v,t,w)

% La superposición de 2 gráficos en un solo plano tomando


como parámetro fijo el tiempo %

v= [15.6 16.2 18 17 16.5 15];


t = [4 8 12 16 20 24];
w= [16.5 17 17.5 18 16 15];
plot (t,v,t,w)
6

También se puede usar distintos tipos de líneas para la gráfica:


>> plot (t,v, '*')

% El grafico ploteado muestra el uso de asteriscos como


señalizadores de los 6 puntos del vector V en el plano %

v= [15.6 16.2 18 17 16.5 15];


t = [4 8 12 16 20 24];
plot (t,v, '*')

Algunos otros comandos para manipular las gráficas son:


‒ texto en el lugar especificado por las coordenadas: >> text(x,y, 'texto')
‒ texto, el lugar lo indicamos después con el ratón: >> gtext('texto')
‒ dibujar una rejilla: >> grid
‒ fija valores máximo y mínimo de los ejes: >> axis([xmin xmax ymin ymax])
‒ fija que la escala en los ejes sea igual: >> axis equal
‒ fija que la gráfica sea un cuadrado: >> axis square
‒ desactiva axis equal y axis square >> axis normal
‒ abre una ventana de gráfico: >> hold on
‒ borra lo que hay en la ventana de gráfico: >> hold off
7

% Como se observa en el gráfico ,pueden ser agregados


diferentes referencias ,como también punteros que permiten
modificar diversos parámetros y delimitar la gráfica a los
requerimientos propios %

v=[15.6 16.2 18 17 16.5 15];


t = [4 8 12 16 20 24]
plot (t,v)
xlabel('hora')
ylabel('temperatura')
title('Datos estación meteorológica')
text(t,v, 'texto')
gtext('texto')
axis([-5 5 -5 5])
axis equal
axis square
hold on
8

Otros comandos relacionados con las gráficas son los siguientes:

Tabla 4.1: Tipos de gráficas 2D

Otra opción es que, una vez mostrado el gráfico, para cambiar su apariencia, basta pinchar
en el último botón de la barra de herramientas ( ) y se abrirán unos cuadros laterales
que permitirán hacer los cambios deseados.

Figura 4.1: Ventana de gráfico

Las opciones que muestra esta ventana es poder editar de una


manera directa los diferentes parámetros y describir la gráfica
con los titulo, grafica de las variables almacenadas, vista 2D y
3D dependiendo el cual sea el caso, adición de una leyenda,
adición de operaciones como hallar integrales sombreando el
área bajo la curva, obtención de máximos y mínimos,etc.
9

Una ventana gráfica se puede dividir en m particiones horizontales y en n verticales, de


modo que cada subventana tiene sus propios ejes: Para ello se usa la orden subplot
(m,n,p) donde p indica la subdivisión que se convierte en activa. Ingrese los siguientes
comandos:
>> 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')

%Los comandos subplot como se indica dependen de la cantidad de


gráficos que se necesitan organizar en forma de arreglos rectangulares,
dependiendo a eso se considera los parámetros de M Y N que vendrían a ser
el número de ubicaciones disponibles y P que relaciona el lugar en que ira
cada una de las gráficas.%
10

Para volver al modo por defecto basta escribir: subplot (1,1,1).


Para dibujar polígonos puede usar la función plot teniendo en cuenta que los últimos
puntos de ambos vectores deben coincidir para que el gráfico quede cerrado. Pero si se
quiere rellenar el interior del polígono debe usar la función fill, que tiene tres
argumentos, los dos vectores que forman los puntos y un tercer argumento para indicar el
color.
>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];
>> plot (x,y)
>> fill (x,y,'r')
%En primer lugar se plasma el perímetro del esto depende del tamaña de
ambos vectores por consiguiente para rellenar y colorear el vector se usa la
función FILL cuyo tercer parámetro indica R de color rojo o RED %
11

3.1.2 Representación gráfica de funciones


Aunque también es posible usar el comando plot es preferible usar el comando ezplot.
Esta función tiene la siguiente sintaxis:
ezplot(f,[a,b]) Dibuja la función f(x,y) en el intervalo 𝑎 ≤ 𝑥 ≤ 𝑏 y 𝑎 ≤
𝑦 ≤ 𝑏. Si se omite, el intervalo por defecto es −2𝜋 ≤ 𝑥, 𝑦 ≤
2𝜋
ezplot(f,[xmin,xmax,ymin,ymax]) Dibuja la función f(x,y) en el
intervalo 𝑥𝑚𝑖𝑛 ≤ 𝑥 ≤ 𝑥𝑚𝑎𝑥 e 𝑦𝑚𝑖𝑛 ≤ 𝑦 ≤ 𝑦𝑚𝑎𝑥

%La función ezplot ayuda a delimitar el grafico y en la figura se muestra el


resultado de multiplicar las funciones seno y exponencial %

1. >> ezplot('cos(x)', [0,pi])


2. >> ezplot('cos(x*y)',[-pi,pi,-pi,pi])
3. >> f='sin(x)*exp(x)';
>> ezplot(f,[0,pi]);
>> grid on;
12

3.2 GRAFICOS 3D
3.2.1 Representación gráfica básica
Para este caso, se extiende la orden plot (2D) a plot3 (3D) donde el formato es igual
pero los datos están en tripletes. Ingrese los comandos:
>> x = -720:720; y = sind (x); z = cosd (x);
>> plot3 (x,y,z)

%Se muestra el resultado de la función plot3 que vendría a ser un grafico en


3D %

En la ventana del gráfico que aparece, se puede hacer girar la gráfica usando en la barra de
herramientas el botón o hacerla más grande o más pequeña con . Al igual que
ocurría con las gráficas en dos dimensiones, se puede nombrar los ejes o hacer
modificaciones entrando en Opciones con el botón .
13

Si se quiere representar un polígono en 3 dimensiones, se usa la función fill3 de forma


similar a fill pero ahora con 4 argumentos, siendo el cuarto el que indica el color.
>> x = [-2 0 2 0 -2];
>> y = [4 8 4 0 4];
>> z = [3 5 10 5 3];
>> fill3 (x,y,z,'b')

%Análogamente se muestra el resultado de la función fill3 en tercera


dimensión esta vez coloreando un poligono %
14

3.2.2 Superficie de malla


La orden [X,Y]=meshgrid(x,y) crea una matriz X cuyas filas son copias del vector x y
una matriz Y cuyas columnas son copias del vector y. Para generar la gráfica de malla se usa
la orden mesh(X,Y,Z), mesh acepta un argumento opcional para controlar los colores.
También puede tomar una matriz simple como argumento: mesh(Z)
>> x = -10:0.5:10; y = -10:0.5:10;
>> [X,Y] = meshgrid (x,y); % crea matrices para hacer la malla
>> Z = sin (sqrt (X .^2 + Y .^2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z) % dibuja la gráfica
Hubiera dado igual si se hubiera escrito:
>> [X,Y] = meshgrid (-10:0.5:10);
>> Z = sin (sqrt (X .^2 + Y .^ 2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z)

%Por medio de la instrucción mesh se puede graficar la superficie de


cualquier función como también variar algunos parámetros como el color %
15

3.2.3 Gráfica de superficie


Es similar a la gráfica de malla, pero aquí se rellenan los espacios entre líneas. La orden que
se usa es surf con los mismos argumentos que para mesh. Considerando el ejemplo
anterior, escriba:
>> surf (X,Y,Z)

%En contraste con la función mesh ;surf rellena los espacios generados entre
líneas y columnas %
16

3.2.4 Gráfica de contorno


Las gráficas de contorno en 2D y 3D se generan usando respectivamente las funciones
contour y contour3.
>> contour (X,Y,Z)
La función pcolor transforma la altura a un conjunto de colores.
>> pcolor (X,Y,Z)
El comando view(az,el) fija el ángulo de visión especificando el azimut y la elevación.
>> surf (X,Y,Z)
>> view (10,70)
El comando view([x,y,z]) coloca la vista en un vector de coordenada cartesiana (x,y,z)
en 3-D.
>> surf (X,Y,Z)
>> view ( [10,-12,2] )
El siguiente comando añade la barra de color a la figura actual:
>> colorbar

%Con la función colorbar se añade una barra de colores lateral como se


muestra en la figura %
17

4. TAREA
Para cada uno de los ítems, en un recuadro muestre los resultados y explique.

Tarea 1. Gráficos 2D

1. Grafico de barras
>> x= -2.9:0.2:2.9;

>> bar(x,exp(-x.*x));

>> barh(x,exp(-x.*x));

%bar (X, Y) dibuja las columnas de la matriz Y de M por N como


M grupos de N barras verticales.
barh Gráfico de barras horizontales. barh (X, Y) dibuja las
columnas de la matriz M-de-N Y como M grupos de N barras
horizontales. El vector X no debe tener valores duplicados. %
18

2.Redondear y numero aleatorio


>> y=round(rand(5,3)*10);

>> bar(y,'group');

>> bar(y,'stack');

% La rand función genera matrices de números aleatorios


cuyos elementos están uniformemente distribuidos en el
intervalo (0, 1).
round (X) redondea cada elemento de X al entero más
cercano.
Grupo-función %
19

3. Organizar gráficos ,delimitar, y controlar limites


>> x=0:0.05:10; y=sin(x).*exp(-0.4*x);

>> figure;

>> subplot(3,1,1); plot(x,y); title('plot');

>> subplot(3,1,2);

>> ezplot('sin(x).*exp(-0.4*x)',[0,10]); title('ezplot');

>> subplot(3,1,3);

>> fplot('sin(x).*exp(-0.4*x)',[0,10]); title ('fplot');

%se usan tres funciones graficas como subplot ,ezploty fplot ;entonces
subplot organiza los grafics en matrices ezplot permite delilimitar alguna
funcion que necesitemos graficar y fplot controla los limites de los ejes X y Y.
%
20

5. Grafico polar y fplop para una señal senoidal


>> disp('Texto y ejes en gráficas:')

>> t=0:0.1:2*pi; r=sin(2*t).*cos(2*t);

>> figure; subplot(2,1,1); polar(t,r);

>> title('polar')

>> subplot(2,1,2);

>> fplot('[sin(x),sin(2*x),sin(3*x)]',[0,2*pi],'-','o','*');

>> title('fplot')

>> legend('sin(x)','sin(2*x)','sin(3*x)');

%Se define la función polar luego con ayuda del subplot se hace una arreglo
en una matriz columna de los gráficos y por consiguiente se traza el grafico
polar y también con la función fplot y variando algunos de sus parámetros
como el color y límites y tipos de señales senoidales con diferente argumento
%
21

5.Seno y coseno ; descriendo distintos parametos


>> disp('Título, nombre en ejes, leyenda:')

>> x=linspace(0,2,30); y=sin(x.^2); figure; plot(x,y);

>> text(1,.8,'y=sin(x^2)'); xlabel('Eje X'); ylabel('Eje Y');

>> title('Gráfico senoidal');

>> disp('Subplot, tamaño de letra, tamaño ejes, caja, grid:')

>> x=0:.1:4*pi; y=sin(x); z=cos(x);

>> figure; subplot(1,2,1); plot(x,y);

>> axis([0,2*pi,-1,1]);

>> set(gca,'FontSize',12);

>> grid on; box on;

>> title('sin(x)','FontWeight','bold','FontSize',12);

>> subplot(1,2,2); plot(x,z);

>> axis([0,2*pi,-1,1]); grid on; box on

>> set(gca,'FontSize',12);

>> title('cos(x)','FontWeight','bold','FontSize',12);

%La función disp es lo mismo que dejar el punto y coma de una


expresión, excepto que las matrices vacías no se muestran, luego se
definen parámetros como el nombre los ejes títulos y se generan 2 tipos de
señales periódicas como se muestra en la figura. %
22

Tarea 2. Gráficos 3D

6.Relleno de polígonos en 3D
>> z=0:0.01:8; x=cos(z); y=sin(z);

>> figure; fill3(x,y,z,'r');

%Con la función fill3 rellena polígonos 3D definido por los vectores X Y Z con el
color especificado por C. Los vértices del polígono se especifican por
tripletas de componentes, si es necesario el polígono se cierra uniendo el
ultimo vértice con el primero%
23

7.Plot para 3ra dimension


>> t=0:pi/50:10*pi;

>> figure; plot3(sin(t),cos(t),t); grid on; axis square

>> figure; plot3(sin(t),cos(t),t,'-',cos(t),sin(t),t,'*');

%Es una anlogo tridimensional de plot se define una terna vectorial de la


misma longitud el aprametro S puede variar los tipos de línea ,símbolo y color
%
24

8.Cool (cian-magenta)
>> figure; y=cool(7);

>> subplot(1,3,1); bar3(y,0.2,'detached');

>> subplot(1,3,2); bar3(y,'grouped');

>> subplot(1,3,3); bar3(y,0.1,'stacked');

%La función cool tiene el mismo tamaño de la figura actual, por defecto
Matlab crea una figura si no existiera son sombras de color cian y magenta %
25

9.Grafica de muestras discretas


>> figure; x=linspace(0,1,10);

>> y=x./2; z=sin(x)+sin(y);

>> stem3(x,y,z,'fill');

%linespace vector linealmente espaciado ,genera un vector de fila 100


linealmente y puntos a igual distancio y con la funcion steam se grafica
muestras %
26

10.
>> [X,Y]=meshgrid(-7.5:.5:7.5);

>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);

>> surf(X,Y,Z); figure; surfc(X,Y,Z);

>> figure; surfl(X,Y,Z);

>> contour(Z); contour3(Z,50);

%se define una funcion racional y con meshgrid se grafica rejillas cartesinas
en el espacio , es ocmo un duplicado de vectores en el espacio para
producir coordenadas de una cuadricula rectangular . %

Potrebbero piacerti anche