我有這樣的:R和無窮級數循環的和?
time=1:200
m=1:1000
sum[i]= sum(1/(1+2*m)^2)*exp((-kappa*(1+2*m)^2 * pi^2 * time[i])/(z1^2))
我需要找到上述表達式的總和對於m = 1:1000和時間= 1:200
我已經嘗試了許多不同環的,並且不能使其棒。我甚至有在這裏表達這種麻煩....
我有這樣的:R和無窮級數循環的和?
time=1:200
m=1:1000
sum[i]= sum(1/(1+2*m)^2)*exp((-kappa*(1+2*m)^2 * pi^2 * time[i])/(z1^2))
我需要找到上述表達式的總和對於m = 1:1000和時間= 1:200
我已經嘗試了許多不同環的,並且不能使其棒。我甚至有在這裏表達這種麻煩....
也許這將工作:
sum<-0
time<-0
for(i in 1:200){
time<-time+1
m<-0
for(j in 1:1000){
m<-m+1
sum<-sum+(1/(1+2*m)^2)*exp((-kappa*(1+2*m)^2*pi^2*time)/(z1^2))
}
}
的循環應重複式20萬次,一次和m
和time
每個組合。最後,sum
應該是所有這些方程式的總和。但是,我不知道kappa
和z1
是什麼,所以我的腳本可能需要一些調整。
此命令將返回一個矩陣:
time <- 1:200
m <- 1:1000
sapply(time,
function(time) sum(1/(1+2*m)^2)*exp((-kappa*(1+2*m)^2*pi^2*time)/(z1^2)))
在矩陣你會發現所有組合的結果。行表示m
的值,列表示time
的值。
另一種方式來做到這一點:
output <- expand.grid(time = 1:200, m =1:1000)
output[,"sum"] <- with(output, sum(1/(1+2*m)^2)*exp((-kappa*(1+2*m)^2 * pi^2 * time)/(z1^2)))