07 2012 档案
C++生成随机数:Beta分布(beta distribution)
摘要:double cls_random::randomBeta( double alpha, double beta){ /*Johnk's beta generator*/ double u, v; double x, y; do { u=cls_random::randomUniform(); v=cls_random::randomUniform(); x=pow(u,1/alpha); y=pow(v,1/beta); } while (x+y>1); return x/(x+y... 阅读全文
posted @ 2012-07-15 21:17 yeahgis 阅读(3904) 评论(6) 推荐(0)
C++生成随机数:瑞利(Rayleigh)分布(Rayleigh distribution)
摘要:double cls_random::randomRayleigh(double sigma){ double pv = sigma*sqrt(-2 * log(cls_random::randomUniform())); return pv;}期望:E=方差:V=wiki:http://zh.wikipedia.org/wiki/%E7%91%9E%E5%88%A9%E5%88%86%E5%B8%83 阅读全文
posted @ 2012-07-15 21:14 yeahgis 阅读(2556) 评论(0) 推荐(0)
C++生成随机数:possion(泊松)分布(possion distribution)
摘要:long cls_random::randomPossion(double lambda){ double x = -1, u; double log1, log2; log1 = 0; log2 = -lambda; do { u = cls_random::randomUniform(); log1 += log(u); x++; }while(log1 >= log2); return x; }期望:E=lambda方差:V=lambdawiki:http://zh.wikipe... 阅读全文
posted @ 2012-07-15 21:12 yeahgis 阅读(7662) 评论(0) 推荐(0)
C++生成随机数:Gamma(伽马)分布(gamma distribution)
摘要:View Code double cls_random::randomGamma( double alpha, double lambda) { double u, v; double x, y; double b, c; double w, z; bool accept = false; double t; if (alpha > 1.0) { /* Best's rejection algorithm XG for gamma random variates (B... 阅读全文
posted @ 2012-07-15 21:10 yeahgis 阅读(5155) 评论(1) 推荐(1)
C++生成随机数:X2(卡方)分布(X2 distribution)
摘要:double cls_random::randomX2(int k){ double dv = 0.0; for (int i=0;i<k;i++) { double p_dv = cls_random::randomGaussian_MarsagliaAndBray(0.0,1.0);//默认生成符合标准正态分布的随机数 dv += p_dv*p_dv; } return dv;}期望:E=k方差:V=2kwiki:http://zh.wikipedia.org/wiki/%E5%8D%A1%E6%96%B9%E5%88%86%E5%... 阅读全文
posted @ 2012-07-15 21:07 yeahgis 阅读(1977) 评论(0) 推荐(0)
C++生成随机数:几何分布(geometric distribution)
摘要:View Code long cls_random::randomGeometric( bool shifted, double probability){ long rnd = 0; while(true) { rnd++; double pV = (double)rand()/(double)RAND_MAX; if (pV<probability) { break; } } if (!shifted) { rnd--; }... 阅读全文
posted @ 2012-07-15 21:05 yeahgis 阅读(1917) 评论(0) 推荐(0)
C++生成随机数:负二项分布/帕斯卡分布(negative binomial distribution)
摘要:long cls_random::randomNegativeBinomial( double r, double probability){ long rnd = 0; double fr = 0.0; while(true) { double pV = (double)rand()/(double)RAND_MAX; if (pV<probability) { rnd++; } else { fr++; ... 阅读全文
posted @ 2012-07-15 21:01 yeahgis 阅读(3428) 评论(0) 推荐(0)
C++生成随机数:二项分布(binomial distribution)
摘要:long cls_random::randomBinomial( long N, double probability){ long rnd = 0; for (long i=0;i<N;i++) { double pV = (double)rand()/(double)RAND_MAX; if (pV<probability) { rnd++; } } return rnd;} 期望:E= 方差:V=wiki:http://zh.wikipedia.org/wiki/%E4%BA%8C%E9%A1%B9%E5%88%86%E5%B8%83 阅读全文
posted @ 2012-07-15 20:58 yeahgis 阅读(3221) 评论(0) 推荐(0)
C++生成随机数:指数分布(Exponential distribution)
摘要:double cls_random::randomExponential( double lambda){ double pV = 0.0; while(true) { pV = (double)rand()/(double)RAND_MAX; if (pV != 1) { break; } } pV = (-1.0/lambda)*log(1-pV); return pV;} 期望:E= 方差:V=wiki:http://zh.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E5%88%86%E5%B8%83 阅读全文
posted @ 2012-07-15 20:57 yeahgis 阅读(7432) 评论(1) 推荐(0)
C++生成随机数:高斯/正态分布(gaussian/normal distribution)
摘要:高斯分布也称为正态分布(normal distribution)常用的成熟的生成高斯分布随机数序列的方法由Marsaglia和Bray在1964年提出,C++版本如下:#include <stdlib.h>#include <math.h>double gaussrand(){ static double V1, V2, S; static int phase = 0; double X; if ( phase == 0 ) { do { double U1 = (double)rand() / RAND_MAX; ... 阅读全文
posted @ 2012-07-13 16:40 yeahgis 阅读(39978) 评论(3) 推荐(4)
C++生成随机数:连续均匀分布(uniform distribution)
摘要:现在要生成符合[min,max]区间内连续均匀分布(uniform distribution)的一组随机数,方法如下:#include time.h首先初始化随机数种子:srand(iSeed);//iSeed为unsigned int类型或者:srand(time(NULL));double cls_random::randomUniform( double dMinValue, double dMaxValue){ double pRandomValue = (double)(rand()/(double)RAND_MAX); pRandomValue = pRan... 阅读全文
posted @ 2012-07-13 09:06 yeahgis 阅读(9413) 评论(0) 推荐(0)
GDAL支持的栅格数据格式
摘要:GDAL支持的栅格数据格式:或者使用gdalinfo.exe --formats查看Long Format NameCodeCreationGeoreferencingMaximum file size1Compiled bydefaultArc/Info ASCII GridAAIGridYesYes2GBYesACE2ACE2NoYes--YesADRG/ARC Digitilized Raster Graphics (.gen/.thf)ADRGYesYes--YesArc/Info Binary Grid (.adf)AIGNoYes--YesAIRSAR PolarimetricAI 阅读全文
posted @ 2012-07-11 11:52 yeahgis 阅读(4271) 评论(0) 推荐(0)