我想使用三个变量的函数将 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] 填充它,但这有点小技巧。任何帮助表示赞赏!
您的示例在语法上不正确;只接受MapThread3 个参数。
而不是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。