天天看點

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

參考文獻

Fornberg, B. and Flyer, N., 2015.A primer on radial basis functions with applications to the geosciences. Society for Industrial and Applied Mathematics.

Fornberg, B., Lehto, E. and Powell, C., 2013. Stable calculation of Gaussian-based RBF-FD stencils. Computers & Mathematics with Applications, 65(4), pp.627-637.

Larsson, E., Lehto, E., Heryudono, A. and Fornberg, B., 2013. Stable computation of differentiation matrices and scattered node stencils based on Gaussian radial basis functions. SIAM Journal on Scientific Computing, 35(4), pp.A2096-A2119.

Fornberg, B. and Flyer, N., 2015. Solving PDEs with radial basis functions. Acta Numerica, 24, p.215.

Flyer, N., Fornberg, B., Bayona, V. and Barnett, G.A., 2016. On the role of polynomials in RBF-FD approximations: I. Interpolation and accuracy.Journal of Computational Physics,321, pp.21-38.

Flyer, N., Wright, G.B. and Fornberg, B., 2014. Radial basis function-generated finite differences: A mesh-free method for computational geosciences. Handbook of geomathematics, pp.1-30.

地球實體局 地震波動力學實驗室 無網格組

聲明:
# 系列文章優先滿足個人研究需求
# 歡迎批評指正,禁止轉載
           

目 錄

石中居士:徑向基函數生成的有限差分法(RBF-FD)原理及程式實作——目錄​zhuanlan.zhihu.com

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

基本概念

在基于網格的正常有限差分近似的情況中,可以在所有節點上(重新)使用相同的模闆(stencil)形狀和權重,可能在邊界處進行較小的修改。在目前的

分散節點

的情況中,每一個模版将變得不同。當整個域中有

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

個節點時,一種常見的政策是将RBF-FD模版置于每個節點中央,并使其擴充到其

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

個最近的鄰點,使每個模版中總共有

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

個節點。直到最近,數值穩定性問題已将

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

通常限制為相對較小的值,例如在二維中,

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

之間。“高粘度”方法允許在某些情況下,将點數增加至少一個數量級,進而實作高精度近似。從概念上講,RBF-FD可以看作是重疊域分解的一種極端情況,每個節點周圍都有一個獨立的域。

一些節點分布政策

  • Halton節點

在建立用于求解PDE的節點分布時,完全随機分布(例如由

MATLAB

中的“

rand

”生成)和高度規則的分布(例如笛卡爾網格)都具有缺點或局限性。在需要準均勻分散的節點的情況下,一個易于實作的選擇是使用Halton型節點分布。為了獲得最佳的精度,它們通常很不規則,但是它們比完全随機分布更友善并且更“健壯(robust)”,因為可以避免出現節點偶然的巧合。例如,圖1對比了機關正方形中

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

的Halton節點與相同數量的完全随機節點。

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

圖1 N=2000的Halton節點(左)和随機節點(右)的對比(Fornberg and Flyer, 2015)

Halton序列最早是在1960年引入的[1],從那時起,它已成為各種應用(如蒙特卡洛模拟和高維數值積分)中的準随機數的正常來源。它們的數學論證已被反複描述[2][3]。Fornberg and Flyer(2015)給出了一個特别短而且快速的MATLAB代碼。在高達6維的情況下,此代碼産生的Halton序列與MATLAB Central中的

haltonseq

算法和MATLAB統計工具箱中的

haltonset

算法相同(但是缺少後面這些代碼的某些額外選項,例如生成指定的子序列)。

halton.m

%   Fornberg, B. and Flyer, N., 2015.
%   A primer on radial basis functions with applications to the geosciences. 
%   Society for Industrial and Applied Mathematics.
%   P.191

%   地球實體局
%   地震波動力學實驗室
%   無網格組

%   僅供學習與參考,請勿用于商業目的

function H = halton(numpts,ndims)
    %   該子例程建立與haltonseq和haltonset相同的序列
    %   numpts (标量) :在Halton序列中生成的點數
    %   ndims (标量) :維數,應小于等于6
    if ndims > 6 
        error('ndims > 6');     %   當維數大于6時顯示錯誤
    end
    p = [2 3 5 7 11 13]; 
    H = zeros(numpts,ndims);    %   初始化序列
    for k = 1:ndims
        N = p(k); 
        v1 = 0; 
        v2 = 0:N-1; 
        lv1 = 1;    %   v1的長度
        while lv1 <= numpts
           v2 = v2(1:max(2,min(N,ceil((numpts+1)/lv1))))/N;
           [x1,x2] = meshgrid(v2,v1); 
           v1 = x1+x2; 
           v1 = v1(:);
           lv1 = length(v1);
        end
        H(:,k) = v1(2:numpts+1);
    end
end
           

test.m

%   地球實體局
%   地震波動力學實驗室
%   無網格組

%   僅供學習與參考,請勿用于商業目的

clear;
clc;

H = halton(2000,2);

figure(1)
scatter(H(:,1),H(:,2),1,[0,0,0]);
axis equal;
axis([0 1 0 1]);
set(gca,'Fontname','Times New Roman','FontSize',10);
xlabel('x','Fontname','Times New Roman','FontSize',10);
ylabel('y','Fontname','Times New Roman','FontSize',10);
           

圖像

matlab ceil函數_徑向基函數生成的有限差分法(RBF-FD)原理及程式實作(2)——Halton節點分布

N=2000的Halton節點

商業推廣

參考

  1. ^J. H. Halton, On the efficiency of certain quasi-random sequences of points in evaluating multi- dimensional integrals, N u m e r . M a t h . 2 (1960), 84–90. (Cited on p. 191)
  2. ^G. E. Fasshauer, Meshfree Approximation Methods with MATLAB, Interdisciplinary Mathematical Sci- ences 6, World ScientificPublishers, Singapore, 2007. (Cited on pp. 39, 42, 44, 45, 47, 56, 58, 69, 88, 191)
  3. ^L. Kocis and W. J. Whiten, Computational investigations of low-discrepancy sequences, A C M Trans. Math. Softw. 23 (1997), 266–294. (Cited on p. 191)