Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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_Probability_Distribution - Fatal编程技术网

在Matlab中定义一个特定的概率分布对象

在Matlab中定义一个特定的概率分布对象,matlab,probability,distribution,Matlab,Probability,Distribution,我试图在Matlab中创建一个特定的分布来进行采样。我想对一些分布为ARG(自回归Gamma)的进程进行建模 如果过程v的形式为v~Gamma(A+zt,c),则称其为ARG(A,b,c) 式中zt,~Poisson(bvt-1/c) 参数a、b、c分别对应于自由度、串行相关性度量和尺度参数 我知道MATLAB内置了泊松分布和伽马分布,但我不确定如何创建包含这两种分布的自定义分布函数 我想创建一个函数,用于从遵循ARG动态的进程中进行采样。例如,MATLAb具有 R = mvnrnd(MU,SI

我试图在Matlab中创建一个特定的分布来进行采样。我想对一些分布为ARG(自回归Gamma)的进程进行建模

如果过程v的形式为v~Gamma(A+zt,c),则称其为ARG(A,b,c)

式中zt,~Poisson(bvt-1/c)

参数a、b、c分别对应于自由度、串行相关性度量和尺度参数

我知道MATLAB内置了泊松分布和伽马分布,但我不确定如何创建包含这两种分布的自定义分布函数

我想创建一个函数,用于从遵循ARG动态的进程中进行采样。例如,MATLAb具有

R = mvnrnd(MU,SIGMA)
从正态分布生成随机数。如何为ARG创建类似的内容

编辑:

尝试的实现:

function [v] = ARG(a, b, c, startval )

%a = delta
%b = rho
%c = (1-rho)*(1-gamma^2)/delta

v_lag = startval

z = poissrnd(b*v_lag / c) 

v = gamrnd(a + z, c) 

只需使用适当的输入调用
poissrnd
,并将结果用作参数
zt
,从中计算出对
gammard
的第一个输入,请参见我的编辑。这就是你的意思吗?然后我想我可以循环函数N次,以得到所需的样本误差向量。是的,这就是我的意思。不需要循环;您可以指定所需的大小作为输入参数,是的,这是一个更好的解决方案,感谢您帮助我使用合适的输入调用
poissrnd
,并将结果用作参数
zt
,从中计算
gammarnd
的第一个输入。请参阅我的编辑。这就是你的意思吗?然后我想我可以循环函数N次,以得到所需的样本误差向量。是的,这就是我的意思。不需要循环;您可以指定所需的大小作为输入参数,是的,这是一个更好的解决方案,谢谢您的帮助