7223 2

[问答] 循环语句中,被替换的项目不是替换值长度的倍数 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

初中生

61%

还不是VIP/贵宾

-

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

楼主
顺风耳不能听 发表于 2019-1-11 10:07:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
McPrice <- function(x = 1, t =0, T=1, r=1 ,sigma =1, M = 1000, N=5
) {
tmp<- function(x = 1, t =0, T=1, r=1 ,sigma =1, M = 1000, N=5
) {exp((r-0.5*sigma^2)*(T/N) + sigma*sqrt(T/N)*rnorm(M*N))
}
stock <-matrix(NA, N+1, M)
S0 <- stock[1, ]
for( i in seq(2,N+1,by=1)){
     for( j in seq(1,M,by = 1)){
      stock[i, j] = stock[i -1, j]*tmp(i-1,j)
    }
}
opt2 <- matrix(NA, N+1, M)
for( i in seq(2,N+1,by=1)){
   for( j in seq(1,M,by = 1)){
    if (stock(i,j)>K)
     {opt(i,j)=(stock(i,j)-K)*exp(-r*dt*(i-1))
  }else {opt(i, j) = 0
}
}
}
option = max(opt)
price=sum(option)/M
}
S0 <-100
K<- 99
r<- 0.05
T<-1
N<-5
M<-1000
sigma<-0.25
McPrice(x=S0, t=0, T=T,r=r, sigma= sigma, M=M, N=N)


这段代码的第一个循环部分
for( i in seq(2,N+1,by=1)){
     for( j in seq(1,M,by = 1)){
      stock[i, j] = stock[i -1, j]*tmp(i-1,j)
运行后显示Error in stock[i, j] <- stock[i - 1, j] * tmp(i - 1, j) :
  被替换的项目不是替换值长度的倍数
请问应该怎么修改啊

二维码

扫码加我 拉你入群

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

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

关键词:循环语句 Price Rice CPR ice

沙发
zhou1_20 发表于 2019-1-11 13:32:51

问题1: tmp(i - 1, j)的调用方法对吗?
问题2:stock[i - 1, j] * tmp(i - 1, j) 可以相乘吗?
问题3:stock(i,j)?opt(i,j)?是什么
建议你先补下R基础

藤椅
顺风耳不能听 发表于 2019-1-11 16:27:32
zhou1_20 发表于 2019-1-11 13:32
问题1: tmp(i - 1, j)的调用方法对吗?
问题2:stock * tmp(i - 1, j) 可以相乘吗?
问题3:stock(i,j ...
问题三应该是用[ ],问题1和2该怎么解决啊?不太懂,这段代码是从matlab代码改过来的。能指点下吗

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

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