24小时热门版块排行榜    

查看: 1274  |  回复: 7

涛涛屈

银虫 (初入文坛)

[求助] 关于MATLAB蒙特卡洛模拟问题!希望能帮个忙!在此先行表示感谢!

R服从N(200,0.5^2)的正太分布,L服从N(400.921,0.056^2)的正太分布。编写MATLAB程序:采用蒙特卡洛模拟法从R和L中分别抽取100000组数据,分别采用抽取出来的每组数据求解出y=L-R,并作出二维图。
回复此楼

» 本帖@通知

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
涛涛屈: 金币+168, ★★★很有帮助 2015-01-18 18:38:53
是这个意思吗?
y_mean是做差结果,4.009209989639458e+02
CODE:
clear all
clc
x=1e7;
chou=1e5;
R_o = normrnd(200,0.5^2,[1 1e7]);
L_o = normrnd(400.921,0.056^2,[1 1e7]);
%%
k_R = unidrnd(x,[1,chou]);
k_L = unidrnd(x,[1,chou]);
R_k = R_o(k_R);
L_k = L_o(k_L);
R_mean = mean(R_k);
L_mean = mean(L_k);

y_mean=L_mean-R_mean
y=L_k-R_k;
plot([1:chou],y)

关于MATLAB蒙特卡洛模拟问题!希望能帮个忙!在此先行表示感谢!
2楼2015-01-16 22:47:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涛涛屈

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by acalephs at 2015-01-16 22:47:23
是这个意思吗?
y_mean是做差结果,4.009209989639458e+02
clear all
clc
x=1e7;
chou=1e5;
R_o = normrnd(200,0.5^2,);
L_o = normrnd(400.921,0.056^2,);
%%
k_R = unidrnd(x,);
k_L = unidrnd(x,);
R ...

谢谢了,我先看看,不懂得再请教你。祝你事事顺心!
3楼2015-01-18 18:40:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

引用回帖:
3楼: Originally posted by 涛涛屈 at 2015-01-18 18:40:02
谢谢了,我先看看,不懂得再请教你。祝你事事顺心!...

不好意思,上一个程序不应该带平方。。。
CODE:
clear all
clc
x=1e7;
chou=1e5;
R_o = normrnd(200,0.5,[1 1e7]);           %生成1e7个随机数,满足(200,.5的正态分布)
L_o = normrnd(400.921,0.056,[1 1e7]);  %生成1e7个随机数,满足(400.921,0.056^2)的正态分布
%%
k_R = unidrnd(x,[1,chou]);                     %语句的字面意思:从1到1e7中按均匀分布产生1行*1e5列的随机整数;语句的目的:从1e7个随机数抽取1e5个R的index,或者理解为数组下标
k_L = unidrnd(x,[1,chou]);                     %从1e7个随机数抽取1e5个L的index,或者理解为数组下标
R_k = R_o(k_R);                                   %从R_o按k_R下标抽1e5个数
L_k = L_o(k_L);                                   %从R_o按k_L下标抽1e5个数
R_mean = mean(R_k);
L_mean = mean(L_k);

y_mean=L_mean-R_mean
y=L_k-R_k;
plot([1:chou],y)

» 本帖已获得的红花(最新10朵)

4楼2015-01-19 09:58:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涛涛屈

银虫 (初入文坛)

送红花一朵
引用回帖:
4楼: Originally posted by acalephs at 2015-01-19 09:58:42
不好意思,上一个程序不应该带平方。。。
clear all
clc
x=1e7;
chou=1e5;
R_o = normrnd(200,0.5,);           %生成1e7个随机数,满足(200,.5的正态分布)
L_o = normrnd(400.921,0.056,);  %生成1e7个随 ...

非常感谢!好人一生平安!
5楼2015-01-20 20:16:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

把for循环删掉,找大于200的点有多少用这个命令。
length(find(y>200))

另外提问的时候发帖子,不要站内信,别人也可能有这样的问题,大家一起进步。

» 本帖已获得的红花(最新10朵)

6楼2015-01-22 10:45:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
涛涛屈: 金币+28, ★★★★★最佳答案 2015-01-23 09:07:21
引用回帖:
6楼: Originally posted by acalephs at 2015-01-22 10:45:36
把for循环删掉,找大于200的点有多少用这个命令。
length(find(y>200))

另外提问的时候发帖子,不要站内信,别人也可能有这样的问题,大家一起进步。

for i=1:N
y=L_k-R_k;
if y>202     %y>202的结果是 0 或者1的布尔变量,为0说明不大于202,为1说明大于202,如果非要用循环,y改为y(i)
    k=k+1;
end
end
7楼2015-01-22 10:49:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

涛涛屈

银虫 (初入文坛)

送红花一朵
引用回帖:
6楼: Originally posted by acalephs at 2015-01-22 10:45:36
把for循环删掉,找大于200的点有多少用这个命令。
length(find(y>200))

另外提问的时候发帖子,不要站内信,别人也可能有这样的问题,大家一起进步。

恩恩,谢谢提醒!
8楼2015-01-23 09:07:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 涛涛屈 的主题更新
信息提示
请填处理意见