R:依赖于三个指标的函数的三重求和
我试图用R来表示一个三重求和函数的三个指数 在Mathematica中,我可以通过以下代码轻松完成此操作:R:依赖于三个指标的函数的三重求和,r,sum,wolfram-mathematica,sapply,R,Sum,Wolfram Mathematica,Sapply,我试图用R来表示一个三重求和函数的三个指数 在Mathematica中,我可以通过以下代码轻松完成此操作: out = Sum[B[G[[k]]] * A[G[[k]], G[[j]], G[[i]]] * prod[G[[j]],G[[i]]], {k,1,Length[G]},{j,1,Length[G]},{i,1,Length[G]}] 其中,G是一个矩阵,B[.]、a[.]和prod[.]都是预定义的函数 在Mathematica中,Sum[f,{k,k_min,
out = Sum[B[G[[k]]] * A[G[[k]], G[[j]], G[[i]]] * prod[G[[j]],G[[i]]],
{k,1,Length[G]},{j,1,Length[G]},{i,1,Length[G]}]
其中,G
是一个矩阵,B[.]
、a[.]
和prod[.]
都是预定义的函数
在Mathematica中,Sum[f,{k,k_min,k_max},{j,j_min,j_max},{i,i_min,i_max}]
将计算三重和,和(k=k_min,k_max)[Sum(j=j_min,j_max)[Sum(i=i_min,i_max)[f]],其中f
是一些函数
我现在正试图在R做这件事,我有很多困难。我试着用下面的方式将sapply
应用于sum
,但似乎也不起作用
guts.i.j.k <- function(i,j,k) B.k(k) * A.i.j.k(i, j, k) * prod.i.j(i, j)
innermostSum <- function(j,k) sum(sapply(1:length(G), FUN=guts.i.j.k, j=j, k=k ))
middleSum <- function(k) sum(sapply(1:length(G), FUN=innermostSum, k=k ))
outsideSum <- sum(sapply(1:length(G), FUN=middleSum))
return(outsideSum)
guts.i.j.k在M中使用大写单变量不是个好主意。同样,在M中使用带有\uuu
的变量也不是个好主意。您的代码是否如图所示Sum[f,{k,k_min,k_max},{j,j_min,j_max},{i,i_min,i_max}]
No,k_min等。实际上不在我的代码中。我试图解释Sum[.]函数在R用户不熟悉Mathematica时的作用。k_min用下标min表示k。