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_Probability - Fatal编程技术网

Matlab 概率密度函数积分

Matlab 概率密度函数积分,matlab,probability,Matlab,Probability,我需要绘制概率密度函数{p(z,phi)}并需要对其进行积分,如所附的等式#1所示 其中,Af和Vf是常数, φ是角, z是距离(数值,可以是小数) p(z,φ)将是力值以及各自不同的z和φ值。 有人能在MATLAB上指导我如何编写这些方程组吗?要整合你的函数,你应该创建一个m文件或匿名函数 f=@(z,phi)p(z,phi)*p(z,phi) 在这里,你可以类似地构造p和p。然后你需要使用一个数值积分器,比如ode45,对f积分两次。。。一次超过f,一次超过phi 如果我理解正确,你可以将-

我需要绘制概率密度函数{p(z,phi)}并需要对其进行积分,如所附的等式#1所示 其中,Af和Vf是常数, φ是角, z是距离(数值,可以是小数)

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

要整合你的函数,你应该创建一个m文件或匿名函数

f=@(z,phi)p(z,phi)*p(z,phi)


在这里,你可以类似地构造p和p。然后你需要使用一个数值积分器,比如ode45,对f积分两次。。。一次超过f,一次超过phi

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


基本上,如果lf/2>pi/2,则最终得到相同的分布。正弦分布完全在均匀分布内。如果(lf/2)-lf/2&xx0&xx0&xxI仍然不能得到如何写出概率密度函数以及给定的范围,然后像你所建议的那样对其进行两次积分。如果我把我的问题分解成几个部分,那么答案可能会更容易。如何求解给定范围内两个变量的概率分布函数?如下图所示;p(a,b)=p(a)p(b),其中,p(a,b)是概率分布函数p(a)=1/c-c/2I已尝试将上述方程#2的概率函数写到方程#4。请帮我更正代码。%对于p(z)Lf=2;z=-Lf/2:0.1:Lf/2;对于p(φ)φ=0:0.1:pi/2;%0
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)))