%% programa solución de ecuacion de onda 02 sonido clearvars; close all; clc; %este programa grafica y anima la solucion de la ecuacion de onda %mediante su solucion usando serie de fourier %% datos inciales L = 1; %longitud de la cuerda A = 20; %amplitud c = 344; %velocidad de propagacion de ondas b = 0.1; %amortiguamiento x0 = L/4; %vector de distancia %% ciclo principal de animacion N = 10; %numero de terminos de la sumatoria p = 0; %incializacion de presion %tiempo fs = 44100; t = 0:1/fs:1; Nt = length(t); for nt = 1:Nt p = 0; %incializacion de presion for n = 1:N kn = n*pi/L; bn = b/2; wn = n*pi*c/L; xin = bn/wn; wdn = wn*sqrt(1 - xin); Cn = (2/n/pi)*( cos(n*pi/4) - cos(n*pi/2) ) - (2/n/pi)*( cos(n*pi/2) - cos(3*n*pi/4) ); An = 0; Bn = Cn/wdn; p = p + Bn*exp(-bn*t(nt))*sin(wdn*t(nt))*sin(kn*x0); end; pause(0.01); end; figure(1) plot(t,p) title('onda sonora tubo'); xlabel('t (s)'); ylabel('p(x,t) (Pa)') legend('p(x,t)'); axis([min(t), max(t), -1.1, 1.1]) grid on; box on; sound(p,fs);