Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. %% TD 3 Equation de la Chaleur
  2.  
  3. clear all; close all;
  4.  
  5. % Définition des paramètres indépendants
  6. L=2*pi; %Longueur barre metallique
  7. N=100 ; % Nombre de point sur la barre
  8. K=1000 ; % ordre de la série de Fourier
  9. n=500 ; % Nombre de pas de temps
  10. dt=0.1 ; % Pas de temps
  11. Alpha=0.01 ; % Conductivité thermique du métal
  12.  
  13. % Calcul des paramètres dépendants
  14. x=linspace(-pi,pi,N) ; % tableau des abscisses des points de calcul
  15. dx=2*pi/length(x) ; % Intervalle entre deux point de calcul
  16. k= 1:2:K ; % Tableau des ordres de la série de fourrier
  17.  
  18. % Initialisation des solutions à zeros avec la bonne taille
  19. T=zeros(n,N); %tableau de la temp. en fonction de t et x (numerique)
  20. F=zeros(n,N); %tableau de la temp. en fonction de t et x (analytique)
  21.  
  22. % Condition aux frontières : imposer la solution initiale et la solution
  23. % aux bords pour T
  24. T(:,:)=7; % pour le reste des x
  25. T(1,N/2)=18; % condition intiale (t0) pour x de 1 à la moitié de la barre
  26.  
  27.  
  28.  
  29. % Calcul de la solution numérique au temps i à partir du temps i-1
  30. for tt=2:n
  31. for xx=2:N-1
  32. T(tt,xx)=T(tt-1,xx)+(Alpha*dt*dx^(-2))*(T(tt-1,xx+1)+T(tt-1,xx-1)-2*T(tt-1,xx));
  33. end
  34. end
  35. % figure,imagesc(T)
  36.  
  37. % Calcul de la solution analytique au temps i
  38. for tt=1:500
  39. for cc=1:length(k)
  40. Ftmp(cc,:)=(2/k(cc)).*sin(x.*k(cc)).*exp(-Alpha.*(k(cc)^2)*(tt*dt));
  41. end
  42. F(tt,:)=sum(Ftmp,1);
  43. end
  44. % figure,imagesc(F)
  45.  
  46.  
  47. % Film
  48. % Initialisation
  49. aviobj = VideoWriter('chaleur.avi','Uncompressed AVI');
  50. open(aviobj);
  51. %ouverture figure
  52. %figure;
  53. figure;
  54. %Boucle sur le temps (ici on choisi la solution analytique)
  55. for tt=1:n
  56. CHAL=repmat(F(tt,:),20,1) %reproduction de la matrice pour une repre. 2D
  57. imagesc(CHAL); %representation en 2D
  58. colorbar;caxis([-1 1]) % Colorbar (échelle de couleur) et limites de celle-ci
  59. frame=getframe(gcf); %obtention de la frame
  60. writeVideo(aviobj,frame); %incorporation de la frame dans le film
  61. title(strcat('temps=',num2str(dt*tt),'s')) %ajout du temps ecoulé en titre
  62. end
  63. set(gcf,'Renderer','ZBuffer');
  64. close(aviobj); %fermeture de l'objet film et sauvegarde.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement