Está en la página 1de 18

Graficar Funciones en 2D

Graficar en MATLAB en 2d
(en dos dimensiones)
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 entienda 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.

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 para los ejes 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 x (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 e y usamos xlabel() e 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 título al eje x
ylabel('X=2*sin(Y)') % Coloca título 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 gráfica 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 Leyenda sobre el gráfico
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 parámetros 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,'or')

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) % Modificando el ejemplo 1
title('Función Seno','FontSize',15) %Coloca un título al grafico
xlabel('tiempo(s)','FontSize',10) % Coloca título al eje x
ylabel('X=2*sin(Y); % Coloca título al eje y
Z=cos(4*X)','FontSize',18)
set(gca,'FontSize',(14) ) % Tamaño del Axe

Ajustar EJES en MATLAB


MATLAB selecciona automáticamente escalamientos
adecuados en los ejes x e 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 gráficas 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)')
Ejemplo: 1 – Relativo a funciones en DSP
Generar durante 1 seg. una señal digital, que se muestre
interpolada con las siguientes características:
F = 1 Hz. Frecuencia de la señal, Fs = 16 muestras por seg.

Script:

clc; clear; close all;


% Graficando una señal digital interpolada
F = 1;
Fs = 16;
Ts = 1/Fs;
t = 0:Ts:1;
y = sin(2*pi*F*t);
plot (t,y);
xlabel ('Instantes de tiempo discreto = t (seg)');
ylabel ('Valores discretos en amplitud = y');
title ('Señal digital interpolada');
grid on;
Parametros 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.
Graficas diversas en Matlab
Contenido:

1 Graficas Polares en Matlab


2 Gráfica Logarítmica en Matlab
3 Gráfica de Barras y Pastel en Matlab
4 Gráfica de Histogramas en Matlab
5 Ejercicios Resueltos de Gráficas en Matlab
5.1 Solución

1 Graficas Polares en Matlab


Si te has preguntado cómo hacer una gráfica polar en MATLAB,
déjame mostrarte que el software proporciona capacidades para
graficar con coordenadas polares usando la función:

polar(theta,r);
genera una gráfica polar del ángulo theta (en radianes) y distancia
radial r.

recuerden que se puede convertir Polar a Rectangular en


Matlab.
Gráficas logarítmicas en Matlab
Para la mayoría de las gráficas que se generan, los ejes x e y se
dividen en intervalos igualmente espaciados; dichas gráficas se
llaman gráficas lineales o rectangulares. Sin embargo, en
ocasiones es posible que se quiera usar una escala logarítmica en
uno o ambos ejes. Una escala logarítmica (en base 10) es
conveniente cuando una variable varía sobre muchos órdenes de
magnitud, porque este amplio rango de valores se puede graficar
sin comprimir los valores más pequeños. Las gráficas
logarítmicas también son útiles para representar datos que
varían exponencialmente.
Es importante recordar que el logaritmo de un número negativo o
de cero no existen. Si incluimos estos valores, MATLAB emitirá
un mensaje de advertencia y no se graficarán los puntos en
cuestión. Sin embargo, generará una gráfica con base en los
puntos restantes.
Una curva logarítmica en Matlab puede lograrse con cualquiera
de los siguientes comandos:
% Gráficas rectangular y logarítmica
plot(x,y); Genera una gráfica lineal de los vectores x e y
semilogx(x,y); Grafica los vectores x e y con escala logarítmica
para x, y lineal para y
semilogy(x,y); Grafica los vectores x e y con escala logarítmica
para y, y lineal para x
loglog(x,y); Grafica los vectores x e y con escala logarítmica
para x e y

Notemos que el comando semilogx y el comando semilogy son


funciones de gráficos semilogarítmicos en Matlab que permiten
mostrar simultáneamente una escala lineal y logarítmica dentro
del software.
Recordemos algo importante, que para superponer graficas en
Matlab, debemos simplemente digitar el comando hold on.

Gráficas de barra
bar(x)
Gráfica de Barras del vector x. Si x es matriz se agrupa los datos
por fila
barh(x)
Gráfica de barras horizontal del vector x
bar3(x)
Gráfica de barras tridimensional
bar3h(x)
Gráfica de barras horizontal tridimensional
pie(x)
Gráfica de pastel, cada elemento de la matriz es una porción.
pie3(x)
Gráfica de pastel tridimensional
histogram(x)
Genera un Histograma.

Adicionalmente podemos graficar caracteres y números en un


mismo grafico de Barras, para eso deberemos trabajar con
estructuras dentro de Matlab, para crear así una especie de vector
que consiga almacenar los valores tipo String.
Un ejemplo de este tipo de gráfico, puede verse a continuación
donde se representa el consumo eléctrico de una casa en un año
entero.
Los Gráficos tipo pastel
Pueden ser representados como:

Gráfica de Histogramas en Matlab


Es una gráfica que muestra la distribución de un conjunto de
valores. En MATLAB, el histograma calcula el número de valores
que caen en 10 depósitos (categorías) que están igualmente
espaciadas entre los valores mínimo y máximo.
Antiguamente se usaba la función hist(x), pero ahora matlab ha
renovado la función y recomienda usar la función histogram(x).

Ejercicios Resuelto de Gráficas en Matlab


Veamos los siguientes ejemplos junto con los códigos de
implementación de todas las funciones aprendidas ahora.
1. Graficas polares: Graficar la función seno, una flor y una
estrella en el plano polar.
2. Grafica Logarítmica: Graficas con los cuatro enfoques de
escalamiento
3. Grafica de Barras/Pastel: Representar un vector y una matriz
bidimensional con grafica de barras y pastel en 2D y 3D.
4. Grafica Histogramas: si se define una matriz x como el
conjunto de calificaciones del Examen Final de la asignatura
de Introducción a la ingeniería, las calificaciones se podrían
representar en un histograma

A continuación, podrás ver los códigos de solución

Solución 1

% Gráficas Polares
%Función Seno
figure
x=0:pi/100:pi;
y=sin(x);
polar(x,y);
%Función Flor
figure
theta=0:0.01*pi:2*pi;
r=5*cos(4*theta);
polar(theta,r);

%Función Estrella
figure
theta=pi/2:4/5*pi:4.8*pi;
r=ones(1,6);
polar(theta,r);

Solución 2

% Gráficas Logarítmicas
x=0:0.5:50; %Vector x
y= 5*x.^2; %Función y
subplot(2,2,1);
plot(x,y);
title('Polinomial - Lineal/Lineal');
ylabel('y'); grid
subplot(2,2,2);
semilogx(x,y); %Grafica Logaritmica en x
title('Polinomial - Log/Lineal');
ylabel('y'); grid
subplot(2,2,3);
semilogy(x,y); %Grafica Logaritmica en y
title('Polinomial - Lineal/Log');
xlabel('x'); ylabel('y'); grid;
subplot(2,2,4);
loglog(x,y); %Grafica Logaritmica en x/y
title('Polinomial - Log/Log');
xlabel('x'); ylabel('y'); grid;
Solución 3

% Gráficas de Barras y Pastel


clear, clc
%Crea el vactor x
x=[1,2,5,4,8];
%Crea la matriz y
y=[x;1:5];
figure
%Grafica
subplot(2,2,1);
bar(x);
title('Grafica de Barras del Vector x');
subplot(2,2,2);
bar(y);
title('Grafica de Barras de la matriz y');
subplot(2,2,3);
bar3(x);
title('Grafica de Barras tridimensional de vector x');
subplot(2,2,4);
bar3h(y);
title('Grafica de Barras tridimensional de matriz y horizontal');
%% Grafica con Números y Caracteres
%Graficar los consumos de energía eléctrica consumidos cada
mes
Consumos=[128,142,135,123,178,192,145,156,167,124,174,189];
%Los meses los guardamos en ESTRUCTURAS
meses={'Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Ago
sto',...
'Septiembre','Octubre','Noviembre','Diciembre'};
figure
bar(Consumos);
%Cambiamos el eje X por los nombres de los meses
set(gca,'XTickLabel',meses);
title('Consumo de Energía Eléctrica');
xlabel('Meses');
ylabel('kWh');
%% Grafica de Pastel
figure
subplot(1,2,1);
pie(x);
title('Grafica de Pastel de x');
subplot(1,2,2);
pie3(x);
title('Grafica de Pastel de x tridimensional');
figure
%Resaltar el segundo pedazo del pastel
%Colocar '1' en el pedazo a resaltar
%Colocar '0' en el que NO se desea resaltar
pie(x,[0 1 0 0 0]);

Solución 4

% Gráfica de Histogramas
x=[100,95,74,87,22,78,34,35,93,88,86,42,55,48];
figure
hist(x); % función antigua
figure
histogram(x); % función nueva (recomendada)

También podría gustarte