通过假设,我测得的概率密度函数(PDF)来自基本分布(E)的 n 卷积。
我有两个分布,其中第一个(F)应该经历比第二个(G)(m_2个卷积)更多的卷积(m_1)。
在傅立叶空间:
F' = E'^m_1
G' = E'^m_2
由于这两个PDF是由相同的基本分布构成的,我应该能够从F计算G的PDF
G' = F'^{m_1/m_2}
采取IFFT我应该有一个与G重叠的分布。
一种天真的方法是简单地计算F的FT并将其提高到1 /整数并测试整数范围。
我的问题是否有任何技巧可以将傅里叶变换后的PDF提升为分数幂。我这样做了,但IFFT的分布远远超出了预期。奇怪的别名错误。
如果他们要对两个PDFS进行卷积,我可能会包含一个填充向量。
我的归一化基于以下事实:k = 0 [ProbF(1,1)]波矢给出了PDF的积分,它应该等于1。
当然,这个假设可能是错误的,但它有世界上所有的理由都是有效的。
我的代码
Inc = INC1 ; % BINS
null = zeros(1,length(Inc)); % PADDED PROB
Inc = [ Inc.*-1 (Inc) ]; % PADDED INC VECTOR
Prob = [ null heightProb1 ] ; % PADDED PROB VECTOR
ProbF = (fft(Prob)) ;
ProbFnorm = ProbF./ProbF(1,1) ; % NORMALIZED BY K=0 COMPONENT (integral of PDF =1)
m=.79 % POWER TO RAISE
ProbFtrans = ((ProbFnorm).^(m)); % 'DECONVOLUTION' IN FOURIER SPACE
ProbIF = (ifft((ProbFtrans)).*(ProbF(1,1))); % RETURN TO PROBABILITY SPACE
figure(2);
plot(Inc,ProbIF,'rs')
提前感谢您的帮助
答案 0 :(得分:0)
傅里叶系数通常是复数(除非你的函数是对称的)。
当您将复数提升到分数幂时,您应该非常小心。
例如,考虑
z=1.2 + i*0.65;
然后将z
提升为4
>> z^4
ans =
-1.398293750000001e+00 + 3.174599999999999e+00i
并致电8
。
>> z^8
ans =
-8.122859748710933e+00 - 8.878046677500002e+00i
然后尝试获取z^4
作为(z^8)^(1/2)
>> (z^8)^(1/2)
ans =
1.398293750000001e+00 - 3.174600000000000e+00i
惊喜!你没有得到z^4
! (错误的标志)
如果您通过z^8
潜水而避免使用分数功率和“倒回”z
,则可以正确返回z^4
:
>> (z^8)/z/z/z/z
ans =
-1.398293750000000e+00 + 3.174599999999998e+00i
原因在于复平面中分数幂的定义。分数幂是多值函数,通过在复平面中引入分支剪切来使其成为单值函数。第n根z^(1/n)
具有n
个可能的值,以及
matlab通过将复杂函数z^(1/n)
解释为所谓的主分支来挑出其中一个。主要含义是复数^1/n
世界中的并不总是反转^n
。
如果这对你没有任何意义,你应该回顾一些基本的复杂分析,但最重要的是复数的分数幂是棘手的动物。在任何可能的情况下,您都应该尝试使用除法来解决分数幂(如上所示)。
我不确定这会解决你所有的问题,但从你的描述来看,这肯定是你遇到的一个问题。