matlab生成均匀部分散点图,应用halton序列生成均匀散点图
前言
一門課的作業要用RBF-DQ方法計算流場。簡單來講就是要在無網格的條件下用高精度格式實現流場的仿真計算。生成散點圖時,用蒙特卡洛的方法得到的散點圖分布不是很均勻,于是想到一種叫做halton的序列。本篇將運用halton序列生成均勻的散點圖。
halton序列原理
點下面的鏈接看halton序列的介紹:
https://blog.csdn.net/Amber_amber/article/details/47421053
生成散點圖代碼實現
為了方便展示,這里用matlab進行編程。實際上halton序列實現起來非常簡單,可以在任何編程語言上進行。
首先,建立halton函數,輸入為序數和基數。
function halton=halton(index,base)
result=0;
f=1/base;
i=index;
while(i>0)
result=result+f*mod(i,base);
i=floor(i/base);
f=f/base;
end
halton=result;
然后,在主程序中,設置好x和y方向的兩個基數,這里分別為2和3(最好是互質的,那樣效果更好)
index=1000;
xy=zeros(index,2);
base1=3;
base2=2;
for i=1:index
xy(i,1)=halton(i,base1);
xy(i,2)=halton(i,base2);
end
結果展示
基數為2和3時:
基數為3和5時:
總結
以上是生活随笔為你收集整理的matlab生成均匀部分散点图,应用halton序列生成均匀散点图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 密码学专题 数据填充的方式|序列加密的方
- 下一篇: 职校学计算机对口高考可以考幼师吗,幼师专