我想使用三个变量的函数折叠(为了求和)两个列表上的MapThread,其中第三个变量在Mapthread上是常量。我想完成这样的事情:
nList = {}; For[i = 0, i <= Length[N0], i++, nSum = 0; Fold[Plus,0,MapThread[n,T,M,N0[i]]]];
其中n是n [t_,m_,n0_] 我可以创建一个长度[T]的列表N0'并用N0 [i]填充它,但这有点像黑客。任何帮助表示赞赏!
答案 0 :(得分:0)
你的例子在语法上是不正确的; MapThread
只接受3个参数。
而不是For
循环尝试
Plus@@MapThread[n[#1,#2,N0]&,{T,M}]
Plus@@
(...)生成给定列表的总和(它将Plus
应用于列表)#1
,#2
,#3
替换的每个参数,...在函数体之后指定它是一个无名函数带有&
标志。同样,您可以编写Function[{t,m},n[t,m,N0]]
而不是n[#1,#2,No]&
。请参阅Function
的帮助。