0

3 変数の関数を使用して (合計するために) MapThread を 2 つのリストに折りたたみたいと思います。ここで、3 番目の変数は 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_] のようなものです。Length[T] のリスト N0' を作成し、それを N0[i] で埋めることができますが、これはちょっとしたハックです。どんな助けでも大歓迎です!

4

1 に答える 1

0

あなたの例は構文的に正しくありません。はMapThread3 つの引数のみを受け入れます。

Forループ試行の代わりに

   Plus@@MapThread[n[#1,#2,N0]&,{T,M}]
  1. イディオムPlus@@(...) は、指定されたリストの合計を生成します (リストに適用さPlusれます)
  2. Mathematica は、そのラムダ式、つまり名前のない関数で非常に強力です。便宜上、非常に短い表記法を使用しています。すべての引数をプレースホルダー#1, #2, #3,... で置き換え、指定した関数本体の後には&符号付きの名前のない関数です。Function[{t,m},n[t,m,N0]]の代わりに書くこともできますn[#1,#2,No]&。のヘルプを参照してくださいFunction
于 2012-10-11T07:47:53.653 に答える