全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
1448 4
2010-04-30
请问如何用matlab创造如下随机数:以P1的概率产生-1,以P2的概率产生1,P1+P2=1。。。谢谢各位了。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-4-30 13:12:40
y=zeros(10000,1);   %模拟10000次
for i=1:10000
  x=rand(0,1);  
  if  x<=p1
  y(i)=-1;
  else
  y(i)=1
end
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-4-30 14:49:29
不错,难得有实质性的交流帖子
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-6 15:29:07
二楼的方法太麻烦了,MATLAB最大的特点就是支持矩阵运算,所要要尽量少用循环,下面是我有一种比较简单的方法
*********************************************************************************************************
a=rand(1,10000)%产生一万个0-1均匀分布的随机数
a(a<=p1)=-1;
a(a>p1)=1;
a%就是楼主所说的随机数
*********************************************************************************************************
这种方法的运算速度要比二楼的快得多,命令也简单得多
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-6 20:19:59
4F code is neat, but a working code need pay attention to the initial condition.
For example insert 'rand('state', 0)' before random number generation. Or,
the computation result may Not be reproducible.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群