rbflapsolvecond.m
来自「本代码为基于matlab的求解偏微分方程的利用径向基函数的无网格方法的源码」· M 代码 · 共 34 行
M
34 行
function R = rbfLapsolvecond (intpoints, intvalues, bndpoints, bndvalues)
% solver for Poisson problems, not completely tested yet
[numintpoints,dim]=size(intpoints);
[numbndpoints,dim]=size(bndpoints);
global RBForder
llmat=rbfLaplace(intbnddistances(intpoints,bndpoints));
if RBForder==0
A=[rbfDLaplace(points2distances(intpoints)) llmat ; ...
llmat' rbf(points2distances(bndpoints)) ] ;
coeff=A\[intvalues; bndvalues];
K=cond(A);
R={coeff ;K};
return;
end
if RBForder==1
A=[rbfDLaplace(points2distances(intpoints)) llmat zeros(numintpoints,1) ; ...
llmat' rbf(points2distances(bndpoints)) ones(numbndpoints,1) ; ...
zeros(1,numintpoints) ones(1, numbndpoints) zeros(1,1)];
coeff=A\[intvalues ; bndvalues; zeros(1,1)];
K=cond(A);
R={coeff ;K};
return;
end
if RBForder==2
A=[rbfDLaplace(points2distances(intpoints)) llmat zeros(numintpoints,3) ;...
llmat' rbf(points2distances(bndpoints)) ones(numbndpoints,1) bndpoints ; ...
zeros(1, numintpoints) ones(1, numbndpoints) zeros(1,3) ;...
zeros(2, numintpoints) bndpoints' zeros(2,3)];
coeff=A\[intvalues ; bndvalues; zeros(3,1)];
K=cond(A);
R={coeff ;K};
return;
end
error ('RBForder not implemented')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?