% Guia 5 ejercicio 9 % % % % % clear %% parámetros A0 = 1; % amplitud del forzante [m] L2 = 0.7; % parámetro del problema L1 = 0.3; % c =10; % velocidad de propagacion [m/s] %% % con estos valores espero % - resonancia del primer tramo en w = m *pi/L1,es decir % en múltiplos de f1 = 5/0.3 = 16.67 % % - resonancia del primer tramo en w = m *pi/L2 % es decir en múltiplos de f2 = 5/0.7 = 7.1429 % % La funcion resulta de derivada espacial continua cuando % % w = m*pi/(L1+L2) es decir en múltiplos de f3 = pi/2 % %% defino un vector de frecuencias. f = 25; % frecuencia del forzante [Hz] w = 2*pi*f; % frecuencia angular del forzante k = w/c; % vector de onda [1/m] %% ver cual es el maximo de cada funcion, para la escala del gráfico a = 1./sin(k*L1); b = 1./sin(k*L2); M = max(abs([a b])) %% vectores de posición xi = linspace(-L2,0,1000); xd = linspace(0,L1,1000); %% creo el objeto avi de salida: genera para el video aviobj = avifile('g5_ej9_cont2.avi','compression','None','quality',20,'fps',30); %% hago un for sobre los valores de frecuencia de arriba for nn = 1:size(f,2) % sol a la izquierda del forzante (entre [-L2,0]) iz =@(x,t) A0.*cos(w(nn).*t).*sin(k(nn)*(x+L2))/sin(k(nn)*L2); % sol a la derecha del forzante (entre [0,L1]) de =@(x,t) -A0.*cos(w(nn).*t).*sin(k(nn)*(x-L1))/sin(k(nn)*L1); % vector de tiempo t = linspace(0,8*pi/w(nn),100); % cinco oscilaciones de cada frec %% grafico fig = figure(1); for n=1:size(t,2) plot(xi,iz(xi,t(n)),'Linewidth',2) title(['Frecuencia = ' num2str(f(nn)) ' Hz'],'FontSize',16) hold on plot(xd,de(xd,t(n)),'Linewidth',2) plot(0,A0*cos(w(nn)*t(n)),'s','MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10) hold off grid on ylim([-M M]) xlabel('x [m]','FontSize',16) ylabel('Amplitud [m]','FontSize',16) F1 = getframe(fig); aviobj = addframe(aviobj,F1); end end close(fig); aviobj = close(aviobj); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%