楼主: zqalan
3390 1

MATLAB蒙特卡洛模拟代码求助 [推广有奖]

  • 0关注
  • 0粉丝

大专生

31%

还不是VIP/贵宾

-

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

楼主
zqalan 发表于 2013-9-26 19:12:31 |AI写论文
40论坛币
b1=randn(361,5000);
a1=randn(361,5000);
h(1,1)=0;
for i=1:361;
    j=1:5000;
    h(i+1,j)=h(i,j)+exp(-h(i,j))*0.0002*(-0.0015972-0.0002*exp(h(i,j)))-0.5*1.9933*1.9933*exp(-h(i,j))/360+exp(-0.5*h(i,j))*0.105053841*sqrt(1/360)*a1;
    y(i,j)=-0.3493*exp(h(i,j))+0.3184*(-0.3175)*((h(i+1,j)-h(i,j))*exp(h(i,j))-0.0002*(-7.986-exp(h(i,j)))+0.5*1.9933*1.9933/360)/1.9933+0.3184*exp(0.5*h(i,j))*sqrt(1-0.3175*0.3175)*sqrt(1/360)*b1;
end
end
plot(1:length(y(i,j)),y(i,j))
??? Index exceeds matrix dimensions.
求助
这段代码为啥没法输出图形,我知道是矩阵溢出,但是具体是哪里的错误,能告诉我吗

关键词:MATLAB 蒙特卡洛模拟 atlab matla 蒙特卡洛 蒙特卡洛

沙发
qq532435137 在职认证  学生认证  发表于 2013-9-26 22:50:20
你是直接打在命令窗口吧!建议你还是在M文件中编写吧!首先程序多了一个end。然后是h(i+1,j)=h(i,j)+exp(-h(i,j))*0.0002*(-0.0015972-0.0002*exp(h(i,j)))-0.5*1.9933*1.9933*exp(-h(i,j))/360+exp(-0.5*h(i,j))*0.105053841*sqrt(1/360)*a1;这个公式有问题!指数超过矩阵尺寸!你自己再检查检查!

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

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 23:40