私はn x m
データの行列を持っています。
各列の要素を含む合計を持つ関数を作成して、値を入力すると1 x m
行が取得されるようにするにはどうすればよいですか ( where m > 100
)?
より具体的には、各列のデータの離散フーリエ変換を計算しています。これは、入力した入力周波数に対して機能するはずです。
単一の列のコードは次のとおりです。
(* Length of time data *)
n = Length[t]
(* Compute discrete fourier transform at specified frequency f *)
DFT[f_] := (t[[2]] - t[[1]]) Sum[
mat[[i + 1]] * Exp[2 Pi I f mat[[i + 1]]], {i, 0, n - 1}];
DFT
これを m 列に拡張して、特定の頻度で特定の列の を計算したい場合に、1 x m
行の要素を抽出するだけでよいようにします。
のような関数を検討しましたMap
が、行の各要素の値を入力することで関数を直接適用するようですが、これはまさに私が望むものではありません。