source: tag/release-8/etc/y2dquivm.m @ 1

Last change on this file since 1 was 1, checked in by lnalod, 15 years ago

Initial import of YAO sources

File size: 3.1 KB
Line 
1function [M] = y2dquivm (ufile, vfile, szx, szy, dskip, opt)
2%ufile et vfile sous forme matricielle
3%ufile='fufasij'; %
4%vfile='fvfasij'; x%
5%szx='50';        %
6%szy='100';       %
7%dskip='0';       % entier qui doit etre > 0 et < ?
8%opt='0';         :
9   %"une seule figure" :
10   %'0' => affichage "brut"
11   %'1' => affichage "enjolivé mais moins précis"
12   % "t figures" :
13   %'2' => affichage "brut"
14   %'3' => affichage "enjolivé mais moins précis"
15%---------------------------------------------------------%
16%exemple d'utilisation :
17%  -    [M] = y2dquivm('fumji', 'fvmji', '100', '100', '1', '1');
18%       ce qui permet de faire apres : movie(M)
19%
20%  -    y2dquivm fumji fvmji 100 100 2 0;
21%  -    y2dquivm fvmij fumij 100 100 2 0; %may be ok if squared matrix ?
22
23%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24%       matlab proc to animate 2D variable space
25%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
26%--------- parametres d'affichage :
27reset(gcf)
28if (opt=='1' | opt=='3')
29%       figure
30        set(gcf,'Color',[0 0 0]); %sur fond noir
31end
32set(gca,'Position',[0 0 1 1])
33
34%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35%--------- positionnement de variables
36eval(['SZX = str2num(szx);']);  % taille de l'axe des X
37eval(['SZY = str2num(szy);']);  % taille de l'axe des Y
38SZSPACE = SZX*SZY;              % d'où taille de l'espace
39
40eval(['pas = str2num(dskip);']);% echantillonage pour la
41                                % définition de l'affichage
42
43%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
44
45  %--------- charger les vitesses dans les matrices U2D et V2D
46  U2D  = load(ufile);            % vitesse u (axe des x)
47  V2D  = load(vfile);            % vitesse v (axe des y)
48
49  if (size(U2D,1)~=size(V2D,1) | size(U2D,2)~=size(V2D,2))
50     sprintf('y2dquivm:->error: files have not the same dimension')
51     return;
52  end
53
54  nbpdt  = size(U2D,1) / (SZY);  % nombre de pas de temps
55
56  %--------- boucle d'affichage
57  for t=0:nbpdt-1,
58      if (opt=='2' | opt=='3')  % toutes les figures
59         figure(t+1);
60      end
61      if (opt=='1' | opt=='3')  % sur fond noir
62         set(gcf,'Color',[0 0 0]);
63      end
64
65      set(gca,'Position',[0 0 1 1])
66
67      subx = 1:pas:SZX;                 % colonnes
68      suby = (SZY*t)+1:pas:SZY*(t+1);   % lignes
69
70      U=U2D(suby, subx);
71      V=V2D(suby, subx);
72
73      quiver(U,V);
74
75      if (opt=='1' | opt=='3') % faire joli
76         set(gca,'Visible','off','Position',[0 0 1 1]) % virer les
77                                  % axes et prendre toute la place
78      end
79
80      axis image
81      M(t+1) = getframe;
82  end
83
84%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
85%animation :
86if (opt=='1' | opt=='3') %faire joli
87   %set(gca,'Visible','off','Position',[0 0 1 1]);
88   set(gca,'Visible','off');
89end
90movie(M,0);
91return
92
93%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94% creation d'un fichier mpg
95%   (sa plante + ou -)
96%==========================================================
97% faire d'abord un
98%     cp ~/matlab/MPG/mpg* .
99% puis :
100%     map=colormap
101%     mpgwrite(M,map,'imagex.mpg')
102%
103% pour terminer proprement, faire
104% un clear all puis un close all et exit
105%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
106
107
108
109
110
111
Note: See TracBrowser for help on using the repository browser.