-
Notifications
You must be signed in to change notification settings - Fork 1
/
GetQTFct.m
64 lines (43 loc) · 1.09 KB
/
GetQTFct.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
function GetQTFct(var,mode,drawfig,tle)
QTGlobals
fprintf('Generating Block Surface Values (%s,%i) : ',mode,var);
for b=1:nBlocks
if mod(b,500) == 0, fprintf('... %i',b); end
if mod(b,3500) == 0, fprintf('\n\t\t'); end
SetQTFctBlock(Blocks{b},var,mode);
end
fprintf('\n');
if drawfig
figure
surface(kQTxv,kQTyv,QTFct','EdgeColor','none');
title(tle);
end
end
function SetQTFctBlock(block,var,mode)
QTGlobals
dx2 = block.dx/2;
dy2 = block.dy/2;
x = block.x;
y = block.y;
[i1,i2,j1,j2] = GetQTKfctRange(x,y,dx2,dy2);
if mode == 'b'
QTFct(i1:i2,j1:j2) = block.data(var);
elseif mode == 's'
lsf = block.sf{var}(kQTxm(i1:i2,j1:j2),kQTym(i1:i2,j1:j2));
if max(max(isnan(lsf)))
oldQt = QTFct(i1:i2,j1:j2);
nanlsf = isnan(lsf);
lsf(nanlsf) = 0;
lsf = lsf + oldQt.*nanlsf;
end
%
%
% surface(kQTxv(i1:i2),kQTyv(j1:j2),lsf')
% hold on
% plot(d(:,1),d(:,2),'o');
% DrawQTBlock(block,0,1,0);
%
%
QTFct(i1:i2,j1:j2) = lsf;
end
end