Representación de funciones

From glossaLAB

Vamos a aprender cómo representar funciones de forma básica en Matlab. Para ello, esta página estará compuesta principalmente de código. El código contendrá comentarios para clarificar lo que se hace en cada momento[1].

COMANDO PLOT

Primero, representamos un polinomio de manera sencilla. Para ello, aplicaremos lo siguiente:

t= linspace(-10,10);    % Definimos vector               
y = 2*t;           		% Definimos la función 
plot(t,y);				% Representación de la función

De esta manera tan sencilla hemos conseguido representar un polinomio.

COMANDO HOLD

Sin embargo, imaginemos que queremos representar varias funciones en un mismo cuadrante. Para ello, debemos hacer uso del comando hold. A continuación se muestra un ejemplo:

t= linspace(-10,10);    % Definimos vector               
y = 2*t;           		% Definimos la función y
plot(t,y);				% Representación de la función y
hold on;				% comando que permitirá que matlab fije y
z=exp(t);				% Definimos la función z
plot(t,z);				% Representación de la función z
hold on;  				% comando que permitirá que matlab fije y

De esta manera Matlab nos habrá generado una nueva ventana donde las dos funciones se encuentran en el mismo cuadrante.


CAMBIO DE COLOR DE UNA FUNCIÓN

Sin embargo, si tenemos más de dos funciones puede ser difícil distinguirlas entre sí. Es por ello que se recomienda poner cada función de un color. Esto lo haremos en el comando plot. Además, si queremos ver la típica cuadrícula utilizaremos el comando grid on. Ejemplo:

t= linspace(-10,10);    % Definimos vector               
y = 2*t;           		% Definimos la función y 
plot(t,y,r);			% Representación de la función y en color rojo
hold on;				% comando que permitirá que matlab fije y
grid on;				% comando que permitirá visualizar casillas
z=exp(t);				% Definimos la función z
plot(t,z,g);			% Representación de la función z en color verde
hold on;  				% comando que permitirá que matlab fijez
grid on;				% comando que permitirá visualizar casillas


COMANDO SUBPLOT

Ahora pongamos la situación de que queremos que matlab nos genere en una misma ventana, gráficas que se encuentran en distintos cuadrantes. Para ello, haremos uso del comando subplot. A continuación, dejamos un ejemplo:

m=4;  					      % Definimos tamaño de la matriz de representación  
p=4;					      % Definimos tamaño de la matriz de representación  
t= linspace(-10,10);          % Definimos vector               
y = 2*t;           		      % Definimos la función y 
subplot(m,p,1),plot(t,y);	  % Representación de la función
grid on;				      % comando que permitirá visualizar casillas
z=exp(t);				      % Definimos la función z
subplot(m,p,2),plot(t,z);	  % Observa que mantenemos el plot
grid on;				      % comando que permitirá visualizar casillas

Vale la pena aclarar que no es obligatorio definir m y p al principio. Es decir, podríamos poner directamente:

  subplot(4,4,1),plot(t,y);

Sin embargo, si no sabemos la cantidad de funciones con la que vamos a trabajar/representar, es recomendable poder intercambiar estos valores de manera sencilla, sin tener que ir uno por uno, tantas veces como subplot hayan.


COMANDO XLIM / YLIM

Si queremos limitar los ejes de coordenadas de tal forma que sólo se muestre un determinado intervalo de la función lo haremos de la siguiente manera:

A=1;
f0=220*5;
Tm=1/f0;
w=2*pi*f0;
t = linspace(0,100);
x=0;
for k=0:100
x=x+A*sin(t.*w*k);
end
plot(t,x);
hold on;
grid on;
xlim([0 10]); 		   % Sólo veremos x del 0 al 10 en el eje x
ylim([-A A]);		   % Sólo veremos x de -A a A en el eje y

SUMATORIO EN MATLAB

Por otro lado os habréis dado cuenta de la presencia de un bucle for. Este es muy útil para representar funciones que estén dentro de un sumatorio. El funcionamiento es muy sencillo. Simplemente, el for irá en función de la misma variable de la que depende el sumatorio. Además, primero definiremos que la función es igual a cero, para realizar la sumatoria de manera correcta. Esto lo veremos mejor con un ejemplo:

A=1;
f0=220*5;
Tm=1/f0;
w=2*pi*f0;
t = linspace(0,100);
x=0;
for k=0:100
x=x+A*sin(t.*w*k);
end
plot(t,x);


COMANDO STEM - REPRESENTACIÓN SEÑALES DISCRETAS

Si por el contrario queremos representar una señal discreta, será tan sencillo como seguir los mismos procedimientos explicados anteriormente pero en vez de utilizar el comando plot, utilizando el comando stem. Veamos un ejemplo:

m=4;  					   % Definimos tamaño de la matriz de representación  
p=4;					   % Definimos tamaño de la matriz de representación  
t= linspace(-10,10);       % Definimos vector               
y = 2*t;           		   % Definimos la función y 
subplot(m,p,1),stem(t,y);  % Representación discreta de la función
grid on;				   % comando que permitirá visualizar casillas
z=exp(t);				   % Definimos la función z
subplot(m,p,2),stem(t,z);  % Observa que mantenemos el subplot como siempre
grid on;				   % comando que permitirá visualizar casillas


REFERENCIAS

[1]

  1. 1.0 1.1 Matlab. (2022).Funciones básicas de representación gráfica Matlab.https://es.mathworks.com/help/matlab/learn_matlab/basic-plotting-functions.html.