-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathradialFunction.m
More file actions
55 lines (51 loc) · 1.38 KB
/
Copy pathradialFunction.m
File metadata and controls
55 lines (51 loc) · 1.38 KB
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
function [phi] = radialFunction(r, h, RBFtype, n)
r = r/h;
phi = zeros(size(r));
switch RBFtype
case 'R'
phi = r.^n;
case 'TPS'
if r <= eps
phi = 0;
else
phi = r.^n.*log(r);
end
case 'Q'
phi = 1 + r.^2;
case 'MQ'
phi = sqrt(1 + r.^2);
case 'IMQ'
phi = 1./sqrt(1 + r.^2);
case 'IQ'
phi = 1./(1 + r.^2);
case 'GS'
phi = exp(-r.^2);
case 'CP_C0'
I = (r < 1);
phi(I) = (1 - r(I)).^2;
case 'CP_C2'
I = (r < 1);
phi(I) = (1 - r(I)).^4.*(4*r(I) + 1);
case 'CP_C4'
I = (r < 1);
phi(I) = (1 - r(I)).^6.*(32/5*r(I).^2 + 6*r(I) + 1);
case 'CP_C6'
I = (r < 1);
phi(I) = (1 - r(I)).^8.*(32*r(I).^3 + 25*r(I).^2 + 8*r(I) + 1);
case 'CTPS_C0'
I = (r < 1);
phi(I) = (1 - r(I)).^5;
case 'CTPS_C1'
I = (r < 1 & r > 0);
phi(I) = 1 + 80/3*r(I).^2 - 40*r(I).^3 + 15*r(I).^4 - 8/3*r(I).^5 + 20*r(I).^2.*log(r(I));
phi(r == 0) = 1;
case 'CTPS_C2a'
I = (r < 1 & r > 0);
phi(I) = 1 - 30*r(I).^2 - 10*r(I).^3 + 45*r(I).^4 - 6*r(I).^5 - 60*r(I).^3.*log(r(I));
phi(r == 0) = 1;
case 'CTPS_C2b'
I = (r < 1 & r > 0);
phi(I) = 1 - 20*r(I).^2 + 80*r(I).^3 - 45*r(I).^4 -16*r(I).^5 + 60*r(I).^4.*log(r(I));
phi(r == 0) = 1;
end
end