1 |
function [ctl]=c_levs(mn,Mx,dc,dBug); |
2 |
% [ctl]=c_levs(mn,Mx,dc,[option]); |
3 |
%- return contour levels |
4 |
% dc > 0 : select contour-levels as multiple of "dc" within [mn,Mx] |
5 |
% dc < 0 : select aproximatively |dc| contour levels, within [mn,Mx] |
6 |
|
7 |
% $Header: $ |
8 |
% $Name: $ |
9 |
|
10 |
if nargin < 3, |
11 |
error('Not enough argument (need at least 3)'); |
12 |
return |
13 |
end |
14 |
if nargin < 4, dBug=0; end |
15 |
|
16 |
if dc > 0, |
17 |
dd=dc; |
18 |
else |
19 |
d0=(mn-Mx)/dc; |
20 |
k0=log(d0)/log(10); |
21 |
kd=round(k0); |
22 |
pp=10.^kd; |
23 |
dd=round(d0/pp); |
24 |
if dd == 0, |
25 |
kd=floor(k0); |
26 |
pp=10.^kd; |
27 |
dd=round(d0/pp); |
28 |
end |
29 |
dd=pp*dd; |
30 |
if dBug > 0, fprintf(' -dc= %i ; d0 = %e ; kd,k0= %i,%f ; pp=%e ; dd=%e\n', ... |
31 |
-dc,d0,kd,k0,pp,dd); end |
32 |
end |
33 |
|
34 |
ctl=[ceil(mn/dd):floor(Mx/dd)]*dd; |
35 |
|
36 |
return |