首页 > 解决方案 > 在 Matlab 中:从 Alpha-stable pdf 生成随机数,它会在时间上消耗(在循环中)

问题描述

在 Matlab 中,以下代码行从 Alpha-stable pdf(此处 Alpha=0.5)生成 100000 个随机数:

 Rand = random('Stable',0.5,0,1,0,[1,100000]);  

Rand 的分布与生成的“理论”曲线完全匹配

 PDF = makedist('Stable','alpha',0.5,'beta',0,'gam',1,'delta',0);
 x = -5:.1:5;
 PDF = pdf(PDF,x);
 figure
 plot(x,PDF,'r-.');

(检查,使用,例如:)

 Data=Rand;
 Middle=0.01; 
 PosBinsUP=10.^(log10(Middle):0.05:log10(max(abs(Data))));
 PosBinsDown=10.^(log10(Middle):0.05:log10(abs(min(Data))));
 xbins=[-flip(PosBinsDown) -Middle:0.2:Middle PosBinsUP];
 [xpdf ypdf]= plotpdfc(Data, xbins);
 plot(xpdf(1:end-1),ypdf(1:end-1),'Or');
 xlim([-5,5]); 

我的问题是:

如何在 't' 上循环生成这些 Rand,以便它们的分布随时间扩展,即 P(Rand) = t^(-1/Alpha) W(Rand/t^(1/Alpha))?

标签: matlabrandom

解决方案


推荐阅读