Saltar al contenido

Gráficas en Matlab

Hola controleros y controleras, bienvenidos nuevamente a otra entrada del sitio web donde vamos a aprender a realizar diversas Gráficas en Matlab: Polares, logarítmicas, de barras, pastel y histogramas.

Antes que nada, te hago la invitación de que veas la entrada anterior donde explicamos muy detalladamente como hacer gráficas en Matlab 2D para cualquier proyecto de ingeniería, pues esa entrada es la base para entender cualquier tipo de gráfica que podemos elaborar con MATLAB. Mira como Graficar en 2D con Matlab.

Por otro lado, si estás interesado, puedes ver nuestro CURSO GRATIS DE MATLAB.

Graficas Polares en Matlab

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

polar(theta,r);

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

Grafica Polar en Matlab

recuerda que podemos convertir Polar a Rectangular en Matlab.

Gráfica Logarítmica en Matlab


Para la mayoría de las gráficas que se generan, los ejes x y 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 (a la base 10) es conveniente cuando una variable varía sobre muchos órdenes de magnitud, porque el 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 uma gráfica lineal de los vectores x y y
semilogx(x,y) Grafica los vectores x y y com escala logarítmica para x y lineal para y
semilogy(x,y) Grafica los vectores x y y com escala logarítmica para y y lineal para x
loglog(x,y) Grafica los vectores x y y com escala logarítmica para x y 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.

Grafica Logarítmica en Matlab

Recordemos algo importante, que para superponer graficas en Matlab, debemos simplemente digitar el comando hold on.

Gráfica de Barras y Pastel en Matlab

Las gráficas de barra, histograma y de pastel son formas populares para reportar datos.

Gráficas de barra y de pastel

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 uma porción.

pie3(x)

Gráfica de pastel tridimensional

histogram(x)

Genera un Histograma.

Grafica de Barras en Matlab

Adicionalmente podemos graficar caracteres y números en un mismo grafico de Barras, para eso deberemos trabajar con estructuras dentro de Matlab, para crear asi una especie de vector que consiga almacenar los valores tipo String. (Las estructuras las abordaremos más adelante en el curso)

Un ejemplo de este tipo de grafico, puede verse a continuación donde se representa el consumo eléctrico de una casa en un año entero (código de implementación al final de esta entrada).

Los Gráficos tipo pastel, pueden ser representados como:

Grafica Pastel Matlab

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 en la entrada del día de hoy.

  • Graficas polares: Graficar la función seno, una flor y una estrella en el plano polar.
  • Grafica Logarítmica:  Graficar de con los cuatro enfoques de escalamiento
  • Grafica de Barras/Pastel: Representar un vector y una matriz bidimensional con grafica de barras y pastel en 2D y 3D.
  • Grafica Histogramas: si se define una matriz x como el conjunto de calificaciones del Final de Introducción a la ingeniería, las calificaciones se podrían representar en un histograma

Solución

A continuación, podrás descargar los códigos de solución, para verlos basta con que compartas esta entrada para que ayudes a más personas a aprender sobre MATLAB.

[sociallocker id=948]

% //*************************************************************//
% //*************************************************************//
% //****                                                    *****//
% //**** GRAFICA POLAR EN MATLAB                       *****//
% //****                                                    *****//
% //**** By: SERGIO ANDRES CASTAÑO GIRALDO                  *****//
% //**** https://controlautomaticoeducacion.com/            *****//
% //**** RIO DE JANEIRO - BRASIL - 2018                     *****//
% //****                                                    *****//
% //*************************************************************//
% //*************************************************************//


%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)


% //*************************************************************//
% //*************************************************************//
% //****                                                    *****//
% //**** GRAFICA LOGARÍTMICA EN MATLAB                      *****//
% //****                                                    *****//
% //**** By: SERGIO ANDRES CASTAÑO GIRALDO                  *****//
% //**** https://controlautomaticoeducacion.com/            *****//
% //**** RIO DE JANEIRO - BRASIL - 2018                     *****//
% //****                                                    *****//
% //*************************************************************//
% //*************************************************************//

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
% //*************************************************************//
% //*************************************************************//
% //****                                                    *****//
% //**** GRAFICA BARRAS/PASTEL EN MATLAB                      *****//
% //****                                                    *****//
% //**** By: SERGIO ANDRES CASTAÑO GIRALDO                  *****//
% //**** https://controlautomaticoeducacion.com/            *****//
% //**** RIO DE JANEIRO - BRASIL - 2018                     *****//
% //****                                                    *****//
% //*************************************************************//
% //*************************************************************//

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 vec 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 energia electrica 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','Agosto',...
    '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
%Colcoar '0' en el que NO se desea resaltar
pie(x,[0 1 0 0 0]);

% //*************************************************************//
% //*************************************************************//
% //****                                                    *****//
% //**** GRAFICA HISTOGRAMA  EN MATLAB                      *****//
% //****                                                    *****//
% //**** By: SERGIO ANDRES CASTAÑO GIRALDO                  *****//
% //**** https://controlautomaticoeducacion.com/            *****//
% //**** RIO DE JANEIRO - BRASIL - 2018                     *****//
% //****                                                    *****//
% //*************************************************************//
% //*************************************************************//

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)

[/sociallocker]

Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.