Supongamos que queremos los valores generados por la señal x(t) siguiente a lo largo de un período de tiempo desde 0 hasta 1 segundos, con incrementos de 0.1 segundos, es decir, t=0:0.1:1:

>> t=0:0.1:1
t = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000
Vemos que la operación consiste en evaluar x(t) 11 veces (para 11 valores distintos de t):

¿Qué pasaría si tuviéramos que evaluar en un rango más amplio, tal como t entre 0 y 1, pero con incrementos de 0.01, es decir, t=0:0.01:1? Tendríamos que repetir el cálculo anterior 101 veces!!.
He aquí donde se observa claramente la ventaja del procesamiento de señales digitales, ya que la computadora nos permite hacer este trabajo iterativo mediante flujos de control aportados por aplicaciones que están al alcance de presupuestos ajustados. Veamos cómo se hace con Matlab.
Podemos expresar la función x(t) de nuestro ejemplo de la manera siguiente:

Primer método: En este enfoque, calcularemos cada componente sinusoidal en un paso como un vector, utilizando el tiempo t=0:0.1:1 como otro vector y luego sumando cada componente sinusoidal mediante un bucle for..end.
>> t=0:0.1:1;
>> xt=zeros(1,length(t));
>> for k=1:3
xt=xt+(1/k)*sin(2*pi*k*t);
>> end
Este algoritmo nos permite obtener de una manera muy eficiente, los valores de x(t) para el período de tiempo de interés:
xt = 0 1.3803 1.0490 0.4612 0.4293 0.0000 -0.4293 -0.4612 -1.0490 -1.3803 -0.0000
Segundo método: Veremos ahora como, por medio de la multiplicación matriz-vector, Matlab puede ser incluso más eficiente. Para fines de demostración, considere solo cuatro valores para t:

Que se puede escribir en forma de matriz como:

Después de realizar la transposición:

En consecuencia, el código en Matlab es:
>> t=0:0.1:1; k=1:3;
>> xt=(1./k)*sin(2*pi*k’*t)
Respuesta:
xt = 0 1.3803 1.0490 0.4612 0.4293 0.0000 -0.4293 -0.4612 -1.0490 -1.3803 -0.0000
Este es el código más compacto y la ejecución más eficiente en Matlab, especialmente cuando el número de términos sinusoidales es muy grande.
Revisión literaria hecha por:
Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer
Se hacen trabajos, se resuelven ejercicios!!
WhatsApp: +34633129287 Atención Inmediata!!
Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)
Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.
Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV Caracas.
Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.
Contacto: España. +34633129287
Caracas, Quito, Guayaquil, Jaén.
WhatsApp: +34633129287
FACEBOOK: DademuchConnection
5 comentarios sobre “¿Cómo procesar una suma de funciones sinusoidales con Matlab?”