我想使用三个变量的函数将 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_] 我可以制作一个长度为 N0' 的列表 [T] 并用 N0[i] 填充它,但这有点小技巧。任何帮助表示赞赏!
我想使用三个变量的函数将 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_] 我可以制作一个长度为 N0' 的列表 [T] 并用 N0[i] 填充它,但这有点小技巧。任何帮助表示赞赏!
您的示例在语法上不正确;只接受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
。