-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmappref.m
82 lines (76 loc) · 2.38 KB
/
mappref.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
function varargout = mappref(varargin)
% MAPPREF fun map preferences
% MAPPREF by itself displays the current map preferences
% MAPPREF(PREF), where PREF is 'NAME', 'ADAPT', 'PAR', 'ADAPTINF', and
% 'PARINF' returns the corresponding preference value.
% MAPPREF(PREF,VAL) assigns the value to the specified preference.
%
% Example:
% mappref('name', 'kt', 'adapt',false,'par', 0.9);
% mapname = mappref('name')
% mappref
% mappref('adaptinf', true)
% Copyright 2011 by The University of Oxford and The Chebfun Developers.
% See http://www.maths.ox.ac.uk/chebfun/ for Chebfun information.
persistent prefmap
% Default value
if isempty(prefmap)
prefmap.name = 'linear';
prefmap.adapt = false;
prefmap.par = [];
prefmap.adaptinf = false;
prefmap.parinf = [1 0];
mlock
% Use munlock (with filename) if you edit this file (or restart matlab).
end
% Display current preferences if no input is given
if nargin == 0
varargout = {prefmap};
end
% Return current preference corresponding to input
if nargin == 1
switch lower(varargin{1})
case 'name'
varargout = {prefmap.name};
case 'adapt'
varargout = {prefmap.adapt};
case 'par'
varargout = {prefmap.par};
case 'adaptinf'
varargout = {prefmap.adaptinf};
case 'parinf'
varargout = {prefmap.parinf};
case 'factory'
prefmap.name = 'linear';
prefmap.adapt = false;
prefmap.par = [];
prefmap.adaptinf = false;
prefmap.parinf = [1 0];
end
end
% Assign preference
if nargin > 1
propertyArgIn = varargin;
while length(propertyArgIn) >= 2
prop = propertyArgIn{1};
val = propertyArgIn{2};
propertyArgIn = propertyArgIn(3:end);
switch lower(prop)
case 'name'
if ~isa(val,'char')
error('CHEBFUN:mappref:input','Map name must be a string');
end
prefmap.name = val;
case 'adapt'
prefmap.adapt = val;
case 'par'
prefmap.par = val;
case 'adaptinf'
prefmap.adaptinf = val;
case 'parinf'
prefmap.parinf = val;
otherwise
error('CHEBFUN:mappref:input','Invalid option');
end
end
end