- Fundamentos de los Sistemas de Coordenadas
En el entorno de MATLAB, la representación gráfica se estructura principalmente sobre tres sistemas de coordenadas matemáticas:
- Cartesiano (Rectangular): Utiliza ejes ortogonales (X, Y, Z) para definir posiciones en el espacio.
- Polar: Define puntos en un plano mediante un ángulo y una distancia radial desde el origen.
- Esférico: Extensión tridimensional del sistema polar, utilizando radios y dos ángulos.
- Configuración de Ejes y Escalas
La generación de datos vectoriales y la personalización de los ejes son pasos fundamentales. A continuación, se demuestra cómo definir dominios y ajustar las proipedades visuales de los ejes.
% Generación de datos vectoriales
vector_t = linspace(-5, 5, 300);
senal_y = sin(3 * vector_t) ./ exp(0.5 * vector_t);
% Configuración de etiquetas de ejes
xlabel('Tiempo (s)');
ylabel('Amplitud (V)');
% Ajuste de límites visuales
xlim([-6 6]);
ylim([-20 20]);
% Personalización de marcas (ticks) y sus etiquetas
xticks(-5:1:5);
yticks(-20:5:20);
xticklabels({'-5s', '-4s', '-3s', '-2s', '-1s', '0', '1s', '2s', '3s', '4s', '5s'});
yticklabels({'-20V', '-15V', '-10V', '-5V', '0V', '5V', '10V', '15V', '20V'});
- Tipología de Gráficos en MATLAB
MATLAB ofrece una amplia gama de funciones nativas para representar datos en dos y tres dimensiones.
- 2D:
plot(líneas),scatter(dispersión),bar(barras),pie(circular). - 3D:
plot3(líneas 3D),mesh(malla),surf(superficie),scatter3(dispersión 3D).
Ejemplo de sintaxis para gráficos tridimensionales:
% Sintaxis básica para líneas en 3D
plot3(X, Y, Z, 'LineStyle', '--', 'Color', 'r', 'LineWidth', 2);
% Otras representaciones tridimensionales comunes
bar3(Z); % Barras en 3D
surf(X, Y, Z); % Superficie coloreada
- Control de Diseño y Anotaciones
Para crear figuras complejas, es necesario manipular el diseño de la ventana gráfica y añadir elementos descriptivos.
% Creación de múltiples subgráficos
subplot(2, 2, 1); polarplot(theta, rho);
subplot(2, 2, 2); plot(x, y);
% Control de la visualización
grid on; % Activar rejilla
hold on; % Mantener gráfico actual para superponer datos
axis equal; % Igualar la escala de los ejes
% Elementos de anotación
title('Análisis de Señales');
legend('Señal Original', 'Señal Filtrada', 'Location', 'best');
text(2, 5, 'Punto de Interés', 'FontSize', 12);
- Catálogo de Funciones de Visualización
A continuación, se clasifican las funcinoes nativas de MATLAB para la manipulación de ejes y tipos de gráficos, adaptando conceptos generales de visualización al entorno específico de MATLAB:
Gráficos Básicos y Estadísticos
% Líneas y dispersión
plot(X, Y); % Gráfico de líneas
scatter(X, Y); % Gráfico de dispersión
stairs(X, Y); % Gráfico de escalones
errorbar(X, Y, E); % Gráfico con barras de error
% Distribuciones y categorías
bar(X, Y); % Gráfico de barras verticales
barh(X, Y); % Gráfico de barras horizontales
pie(X); % Gráfico circular
histogram(X); % Histograma
Escalas Logarítmicas y Especiales
loglog(X, Y); % Escala logarítmica en ambos ejes
semilogx(X, Y); % Escala logarítmica en el eje X
semilogy(X, Y); % Escala logarítmica en el eje Y
area(X, Y); % Gráfico de área rellena
fill(X, Y, 'c'); % Polígono relleno
Manipulación de Propiedades de Ejes (Axes)
% Límites y dirección
xlim([min max]); % Establecer límites del eje X
ylim([min max]); % Establecer límites del eje Y
set(gca, 'XDir', 'reverse'); % Invertir dirección del eje X
% Etiquetas y marcas
xlabel('Texto X');
set(gca, 'XTick', 0:10:100);
set(gca, 'XTickLabel', {'A', 'B', 'C'});
% Rejilla y fondo
grid on;
set(gca, 'Color', 'w'); % Fondo blanco
set(gca, 'GridLineStyle', '--');
- Ejemplo Integrado: Trayectorias Paramétricas 3D
El siguiente script demusetra la creación de un gráfico tridimensional complejo, incluyendo múltiples curvas, personalización de ejes y anotaciones de texto en el espacio 3D.
% Definición del parámetro temporal
t = 0:pi/400:2*pi;
% Cálculo de coordenadas para la primera trayectoria (Espiral externa)
x1 = sin(t) .* cos(8*t);
y1 = sin(t) .* sin(8*t);
z1 = cos(t);
% Cálculo de coordenadas para la segunda trayectoria (Espiral interna)
x2 = sin(t) .* cos(12*t);
y2 = sin(t) .* sin(12*t);
z2 = cos(t);
% Inicialización de la figura
figure('Name', 'Visualizacion 3D', 'NumberTitle', 'off', 'Color', 'w');
% Trazado de ambas curvas en el mismo espacio
plot3(x1, y1, z1, 'b-', 'LineWidth', 1.5);
hold on;
plot3(x2, y2, z2, 'r--', 'LineWidth', 1.5);
% Configuración visual general
grid on;
axis equal;
xlim([-1.2 1.2]); ylim([-1.2 1.2]); zlim([-1.2 1.2]);
% Personalización de marcas en los tres ejes
xticks(-1:0.4:1); yticks(-1:0.4:1); zticks(-1:0.4:1);
xticklabels({'X-1', 'X-0.6', 'X-0.2', 'X0.2', 'X0.6', 'X1'});
yticklabels({'Y-1', 'Y-0.6', 'Y-0.2', 'Y0.2', 'Y0.6', 'Y1'});
zticklabels({'Z-1', 'Z-0.6', 'Z-0.2', 'Z0.2', 'Z0.6', 'Z1'});
% Etiquetas de los ejes principales
xlabel('Eje de Frecuencia');
ylabel('Eje de Amplitud');
zlabel('Eje de Fase');
title('Diagrama de Constelación Tridimensional');
% Inserción de anotaciones de texto en coordenadas específicas
% Anotación 1
text(0.8, -0.8, -0.5, {'\leftarrow Componente Alfa:', 'Modulacion QAM'}, 'FontSize', 10, 'Color', 'b');
% Anotación 2
text(0.8, -0.8, 0.0, {'\leftarrow Componente Beta:', 'Filtro paso bajo'}, 'FontSize', 10, 'Color', 'r');
% Anotación 3
text(0.8, -0.8, 0.5, {'\leftarrow Componente Gamma:', 'Ecualizacion'}, 'FontSize', 10, 'Color', 'k');
hold off;