rbfdlaplace.m
来自「本代码为基于matlab的求解偏微分方程的利用径向基函数的无网格方法的源码」· M 代码 · 共 35 行
M
35 行
function y = rbfDLaplace (rr) % Double Laplace of rbf, see rbflap2.mws
global RBFscale;
global RBFpar;
global RBFtype; % 1=MQ, 2=G, 3=IMQ, 4=W2, 5=TPS, 6=W4
r=rr/RBFscale;
if RBFtype==1
y=(-(-8+8*r.*r+r.^4).*(1+r.*r).^(-7/2))/RBFscale^4; % Multiquadric
return;
end
if RBFtype==2
y=(16*(r.^4-4*r.*r+2).*exp(-r.*r))/RBFscale^4; % Gaussian
return;
end
if RBFtype==3
y=3*((8-24*r.*r+3*r.^4).*(1+r.*r).^(-9/2))/RBFscale^4; % inverse Multiquadric
return;
end
if RBFtype==4
y=(60*(-16*r+15*r.^2+3).*max(0,(1-r))).*(1/r)./(RBFscale^4); % Wendland 2
return;
end
if RBFtype==5
y=0; % TPS
return;
end
if RBFtype==6
y=(6720*(4*r-1).*(3*r-2).*max(0,(1-r)).^2)/RBFscale^4; % Wendland C4
return;
end
if RBFtype==7
y=16.*RBFpar.^2.*(2*r.*r-RBFpar.*RBFpar)./((r+RBFpar).^4.*RBFscale^4); % regularized log = AFS of Laplace in R^2
return;
end
error('RBF type not implemented')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?