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.
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.
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. |
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:
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.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.