1 | function plot_fmapdp(file) |
---|
2 | % PLOT_FMAPDP - Plot frequency map |
---|
3 | % plot_fmapdp('fmapdp.out') |
---|
4 | % |
---|
5 | % INPUTS |
---|
6 | % 1. file - filename for plotting frequency maps (output file from Tracy |
---|
7 | % II) |
---|
8 | % |
---|
9 | % See also naffgui, plot_fmap, resongui |
---|
10 | |
---|
11 | % |
---|
12 | % Written Laurent S. Nadolski, SOLEIL, 03/04 |
---|
13 | % Modifications for R14 compatibility, June'05 |
---|
14 | |
---|
15 | %% grille par defaut |
---|
16 | set(0,'DefaultAxesXgrid','on'); |
---|
17 | set(0,'DefaultAxesYgrid','on'); |
---|
18 | |
---|
19 | if nargin <1 |
---|
20 | help (mfilename) |
---|
21 | file ='fmapdp.out'; |
---|
22 | end |
---|
23 | |
---|
24 | try |
---|
25 | [dp x fx fz dfx dfz] = textread(file,'%f %f %f %f %f %f','headerlines',3); |
---|
26 | catch |
---|
27 | error('Error while opening filename %s',file) |
---|
28 | end |
---|
29 | |
---|
30 | %% ajoute parties entieres |
---|
31 | fx=18+abs(fx); |
---|
32 | fz=10+abs(fz); |
---|
33 | %% energie en % |
---|
34 | dp = dp*1e2; |
---|
35 | %% position en mm |
---|
36 | x = x*1e3; |
---|
37 | |
---|
38 | % select stable particles |
---|
39 | indx=(fx~=18.0); |
---|
40 | |
---|
41 | %% carte N&B |
---|
42 | figure; clf; |
---|
43 | subplot(2,1,1) |
---|
44 | plot(fx,fz,'.','MarkerSize',0.5) |
---|
45 | xlabel('\nu_x'); ylabel('\nu_z') |
---|
46 | %axis([18.15 18.27 10.265 10.32]) |
---|
47 | |
---|
48 | subplot(2,1,2) |
---|
49 | plot(dp(indx),x(indx),'.','MarkerSize',0.5); hold on |
---|
50 | ind_amplitude |
---|
51 | xlabel('\delta (%)'); ylabel('x(mm)') |
---|
52 | addlabel(0,0,datestr(now)); |
---|
53 | |
---|
54 | %% Carte avec diffusion |
---|
55 | figure; clf |
---|
56 | dpgrid = []; |
---|
57 | xgrid = []; |
---|
58 | dfxgrid = []; |
---|
59 | dfzgrid = []; |
---|
60 | fxgrid = []; |
---|
61 | fzgrid = []; |
---|
62 | |
---|
63 | %% Calcul automatique de la taille des donnees |
---|
64 | nx = sum(dp==dp(1)); |
---|
65 | ndp = size(dp,1)/nx; |
---|
66 | |
---|
67 | xgrid = reshape(x,nx,ndp); |
---|
68 | dpgrid = reshape(dp,nx,ndp); |
---|
69 | fxgrid = reshape(fx,nx,ndp); |
---|
70 | fzgrid = reshape(fz,nx,ndp); |
---|
71 | dfxgrid = reshape(dfx,nx,ndp); |
---|
72 | dfzgrid = reshape(dfz,nx,ndp); |
---|
73 | |
---|
74 | %% Diffusion |
---|
75 | temp = sqrt(dfxgrid.*dfxgrid+dfzgrid.*dfzgrid); |
---|
76 | nonzero = (temp ~= 0); |
---|
77 | diffu = NaN*ones(size(temp)); |
---|
78 | diffu(nonzero) = log10(temp(nonzero)); |
---|
79 | clear nonzero temp; |
---|
80 | |
---|
81 | % diffu = log10(sqrt(dfxgrid.*dfxgrid+dfzgrid.*dfzgrid)); |
---|
82 | |
---|
83 | %% saturation |
---|
84 | % ind = isinf(diffu); |
---|
85 | % diffu(ind) = NaN; |
---|
86 | diffumax = -2; diffumin = -10; |
---|
87 | diffu(diffu< diffumin) = diffumin; % very stable |
---|
88 | diffu(diffu> diffumax) = diffumax; %chaotic |
---|
89 | diffu(end) = diffumin; |
---|
90 | diffu(end-1) = diffumax; |
---|
91 | |
---|
92 | %% fmap |
---|
93 | h1=subplot(2,1,1); |
---|
94 | |
---|
95 | % Get Matlab version |
---|
96 | v = ver('matlab'); |
---|
97 | |
---|
98 | if strcmp(v.Release,'(R13SP1)') |
---|
99 | mesh(fxgrid,fzgrid,diffu,'LineStyle','.','MarkerSize',5.0,'FaceColor','none'); |
---|
100 | else % For Release R14 and later |
---|
101 | mesh(fxgrid,fzgrid,diffu,'Marker','.','LineStyle','none','MarkerSize',5.0,'FaceColor','none'); |
---|
102 | end |
---|
103 | |
---|
104 | caxis([-10 -2]); % Echelle absolue |
---|
105 | %axis([18.15 18.27 10.26 10.32]) |
---|
106 | % axis([18.195 18.27 s10.26 10.32]) |
---|
107 | set(gca,'View',[0 90]); |
---|
108 | hold on |
---|
109 | shading flat |
---|
110 | hp=colorbar('horiz'); |
---|
111 | xlabel('\nu_x') |
---|
112 | ylabel('\nu_z') |
---|
113 | |
---|
114 | %% DA |
---|
115 | h2=subplot(2,1,2); |
---|
116 | %% colorbar position |
---|
117 | p1 = get(h1,'position'); p2 = get(h2,'position'); p0 = get(hp,'position'); |
---|
118 | set(hp,'position',[p0(1) p1(2) - 1.2*(p1(2)-p2(2)-p2(4))/2 p0(3:4)]); |
---|
119 | |
---|
120 | pcolor(dpgrid,xgrid,diffu); hold on |
---|
121 | caxis([-10 -2]); % Echelle absolue |
---|
122 | shading flat |
---|
123 | xlabel('dp (%)') |
---|
124 | ylabel('x(mm)') |
---|
125 | ind_amplitude |
---|
126 | |
---|
127 | % addlabel(0,0,datestr(now)) |
---|