2017-04-05 92 views
-3

我需要绘制的概率密度函数{P(Z,PHI)}和需要整合它,如图所附当量#1 enter image description here 其中Δf和Vf的是常数, phi是角度, z是距离(数值,可以是小数)集成概率密度函数

P(z,phi)将是力值,以及各自不同的z和phi值。 有人可以在MATLAB上指导我如何写这些方程组?

回答

0

要intregate的功能,您应该创建一个M文件或匿名函数

F = @(Z,PHI)P(Z,PHI)* P(Z,PHI)

哪里你类似地构造P和p。然后你需要使用数值积分器之一,比如ode45来将f两次...一次一遍,一次遍历phi。

+0

我还是没能得到怎样的概率密度函数写以及给定的范围,然后按照您的建议将其整合两次 – Jack

+0

如果我将问题分解为若干部分,则可能会更容易回答。如何在给定范围内求解两个变量的概率分布函数?如下所示; P(A,B)= P(A)P(B) 其中, P(A,b)是一个概率分布函数 P(A)= 1/C \t \t \t -c/2 <一个我试图写出上面提到的等式#2到等式#4的概率函数,其中c是任意常数值 ,并且p(b)= sin(b)0 Jack

+0

。请帮我纠正我的代码。 %对于p(z) Lf = 2; z = -Lf/2:0.1:Lf/2;对于p(φ) phi = 0:0.1:pi/2;对于p(phi) ,其中x = unifpdf(1/Lf,-Lf/2,Lf/2) 。 %0 Jack

0

如果我正确地理解了你,你可以在-lf/2和lf/2之间乘以一个均匀的概率分布,看起来像是正弦波的第一个四分之一。你想知道结果概率分布。

基本上如果lf/2> pi/2最终会得到相同的分布。正弦分布完全在均匀分布内。如果(lf/2)<(pi/2)你的正弦分布的部分均匀分布。然后,您想要将您的概率分布除以您关闭的部分,以使积分保持不变。它必须保持概率分布。

sin(x)的积分是cos(x)。因此,在您通过devide这种情况下,(1-COS(LF/2))

下面是一个脚本,使它更加明显:

lf=2; 
xx = linspace(-lf,lf,1E4); 
p1 = (xx>-lf/2&xx<lf/2)*(1/lf); 
p2 = zeros(size(xx)); 
p2(xx>0&xx<pi/2) = sin(xx(xx>0&xx<pi/2)); 

p3 = p2.*p1.*lf; 
if lf<pi 
    p3 = p3./(1-cos(lf/2)); 
end 
plot(xx,p1,xx,p2,xx,p3) 
legend({'uniform distribution','sine','result'}) 
%integrals (actually Riemann sums): 
sum(p1.*(xx(2)-xx(1))) 
sum(p2.*(xx(2)-xx(1))) 
sum(p3.*(xx(2)-xx(1)))