Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab:从定制的概率密度函数生成随机数_Matlab_Random_Histogram_Probability Density_Probability Distribution - Fatal编程技术网

Matlab:从定制的概率密度函数生成随机数

Matlab:从定制的概率密度函数生成随机数,matlab,random,histogram,probability-density,probability-distribution,Matlab,Random,Histogram,Probability Density,Probability Distribution,我有一个数据集,包含1977-1983年1月的3小时降水量(见附件)。但是,我想根据这些数据生成1984-1990年期间的降水数据。因此,我想知道是否有可能创建降水量(1977-1983)的定制概率密度函数,并由此生成所需时期(1984-1990)的随机数(降水数据) 这在Matlab中是可能的吗?有人能帮我吗 提前谢谢 直方图将为您提供PDF的估计值——只需将垃圾箱计数除以样本总数即可。从那里你可以通过积分来估计CDF。最后,您可以选择0和1之间的均匀分布随机数,并估计将产生该数的CDF的参数

我有一个数据集,包含1977-1983年1月的3小时降水量(见附件)。但是,我想根据这些数据生成1984-1990年期间的降水数据。因此,我想知道是否有可能创建降水量(1977-1983)的定制概率密度函数,并由此生成所需时期(1984-1990)的随机数(降水数据)

这在Matlab中是可能的吗?有人能帮我吗

提前谢谢


直方图将为您提供PDF的估计值——只需将垃圾箱计数除以样本总数即可。从那里你可以通过积分来估计CDF。最后,您可以选择0和1之间的均匀分布随机数,并估计将产生该数的CDF的参数。也就是说,如果y是您选择的随机数,那么您希望找到x,使得CDF(x)=y。x的值将是一个随机数,具有所需的PDF。

如果您有“统计和机器学习工具箱”,您可以使用以下方法评估数据的PDF:

然后使用它从同一分布生成
N
随机数:

y = random(Percip_pd,N,1);

引用@AnonSubmitter85:

“通过积分估计CDF。最后,您可以选择一个统一的 0和1之间的分布随机数,并估计 产生这个数字的CDF,也就是说,如果y是随机数 你选择的数字,然后你想找到x,这样CDF(x)=y x的值将是一个随机数,具有所需的PDF。”


如果1977-1983年的数据是高斯分布的,您可以计算平均值和样本标准偏差,然后使用
data=normrnd(mu,sigma,m,n)
获得一个m x n随机分布的数据点阵列,平均值=mu,标准偏差=sigma。
y = random(Percip_pd,N,1);
%random sampling
 N=10; %number of resamples

 pdf = normrnd(0, 1, 1,100); %your pdf
 s = cumsum(pdf); %its cumulative distribution

 r = rand(N,1); %random numbers between 0 and 1
 for ii=1:N
   inds = find(s>r(ii));
   indeces(ii)=inds(1); %find first value greater than the random number
 end
 resamples = pdf(indeces) %the resamples