楼主: zhaoxixjtu
7334 4

[问答] matlab画图 蒙特卡洛模拟 [推广有奖]

  • 2关注
  • 1粉丝

初中生

47%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
627 点
帖子
11
精华
0
在线时间
17 小时
注册时间
2010-7-1
最后登录
2016-6-17

楼主
zhaoxixjtu 发表于 2012-9-20 12:17:45 |AI写论文
5论坛币
【求指导】
编了一段 蒙特卡洛模拟的程序
将一天分成了100段  均值是-0.004%,标准差是1.99%

公式
模拟的次数是280次,将最终的模拟值也就是S的第101列返回到b,窗口能得到b和图。
————————————————————————————————————————————————————————————

1. 但为何plot出来的图,纵轴是s,横轴不是1~100,而是1~281???
2. 用excel link的getmatrix,打算将matlab中的b或s 导出到excel中,返回错误提示:Variable does not exist in Matlab workspace. 该如何解决呢?
3. 如果s(j,1)不止一个初始值,即我要用一年的工作日进行模拟。我该如何将一年255个工作日的不同初始,在上面的程序都跑一次呢?得到255*280条趋势线。

————————————————————————————————————————————————————————————
for j=1:280
x=normrnd(0,1,100);
s(j,1)=-0.0408;
for i=1:100;
s(j,i+1)=s(j,i)*(1-0.0004/100+1.99*x(i)/1000);
end
end
b=s(:,101)
plot(s)

最佳答案

allord 查看完整内容

第二个 for 句尾不要分号
关键词:matlab画图 MATLAB 蒙特卡洛模拟 matla atlab 蒙特卡洛 matlab画图

本帖被以下文库推荐

沙发
allord 发表于 2012-9-20 12:17:46
zhaoxixjtu 发表于 2012-9-20 17:47
for j=1:280
x=normrnd(0,1,100);
s(j,1)=-0.0408;
第二个 for 句尾不要分号

藤椅
zhaoxixjtu 发表于 2012-9-20 17:47:22
for j=1:280
x=normrnd(0,1,100);
s(j,1)=-0.0408;
for i=1:100;
s(j,i+1)=s(j,i)*(1-0.0004/100+1.99*x(i)/1000);
end
end
s=s'
plot(s)


画图前将s转置

板凳
zhaoxixjtu 发表于 2012-9-22 13:29:06
allord 发表于 2012-9-20 20:50
第二个 for 句尾不要分号
哈哈  忘记改过来了

报纸
zhaoxixjtu 发表于 2012-9-22 13:34:14
发帖当天一朋友帮忙解决了  至于第二个excel link的问题 之前在excel中加载的是exlink 之后改成加载exlink07 就能正常使用了 如果遇到和我一样的问题 大家也可以试试加载07

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 09:30