码迷,mamicode.com
首页 > 其他好文 > 详细

模拟分段概率密度函数

时间:2019-10-20 10:58:59      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:模拟   click   需要   div   show   dea   hide   mat   image   

技术图片
 
技术图片
clc
close
clear
format long
syms x a
p1=int(exp(2*x),-0.5,0);
p2=int(exp(-2*x),0,0.5)

double(p1+p2)

total=1000000;
c=0;
for i=1:total
    rnd=rand();
    if(rnd<=0.5)
        rnd1=0.5*rand();
         v=0.5 *log(2*rnd1); 
    else
         rnd2=0.5*rand();
         v=-0.5 *log(1-2*rnd2); 
    end

         if( v>=-0.5 && v<=0.5)
           c=c+1; 
         end
end
(c/total)
View Code

说明

其中的rnd1可以用rnd代替,但是rnd2不能用rnd*0.5,这样的话结果对不上

技术图片
clc
close
clear
format long
syms t a  b  y c x1 x2 u1 u2 uy E_YX1  E_YX2 E_X1X2 E_X12 E_X22 x


total=100000;
c=0;
for i=1:total
  rnd=rand();
  if(rnd<=1/4)
     v= sqrt(rand()*(1/4) * 4)+2;
  else
     u=rand()*(3/4);
     v=-sqrt(-12*u +9)+6;
  
  end
  if( v>2.5 && v<3.5)
     c=c+1; 
  end
end
c/total

p1=int(0.5*(x-2),2.5,3);
p2=int(0.5*(2-(x/3)),3,3.5);
double(p1+p2)
View Code

这个在开根号时需要考虑3<x<=6时, 0<u<3/4 ,所以开根号后加负号

技术图片
p=int(4+0*x,0.1,0.2);
double(p)
total=1000000;
c=0;
for i=1:total
    rnd=rand()*(1/4);
    v=rnd;

     if( v>=0.1 && v<=0.2)
       c=c+1; 
     end
end
(c/total)
View Code

X时0-1上的均匀分布随机变量两那么  Y=(1/4)X就是 0-1/4上的均匀分布随机变量,概率密度是 fy(y)=4

如果要6.0-6.25上的均匀分布随机变量那么就令 Y=(1/4)X+6

技术图片
clc
close
clear
format long
syms t a  b  y c x1 x2 u1 u2 uy E_YX1  E_YX2 E_X1X2 E_X12 E_X22 x


total=1000000;
c=0;

for i=1:total
  rnd=rand();
  if(rnd<=1/2)
     v= 6*(rand()*0.5) -3 ;
  else
     u=rand()*(1/2) +0.5;
     v=4*sqrt(2*u -1);
  
  end
  if( v>-2 && v<2)
     c=c+1; 
  end
end
c/total

p1=(0.5+2^2/32)-(0.5+0^2/32);
p2=(0.5+-0/6) -(0.5+-2/6);
double(p1+p2)
View Code

 

模拟分段概率密度函数

标签:模拟   click   需要   div   show   dea   hide   mat   image   

原文地址:https://www.cnblogs.com/wdfrog/p/11706648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!