質問するログイン新規登録

質問編集履歴

3

2016/09/13 14:10

投稿

pandanoir
pandanoir

スコア72

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,17 @@
1
1
  高速フーリエ変換のプログラムをwikiの数式に従って書いてみました。が、Wolfram Alphaの計算結果とずれてしまいます。具体的には、実部が3倍、虚部が-3倍ずれています。何がおかしいのでしょうか?ちなみに、Wolfram AlphaにはFourier[{0, 1, 4, 9, 16, 25, 36, 49, 64}]と打ち込みました。
2
2
 
3
+ # 行った検証
4
+ なんか文句つけられたので足掻いたあと記しときますね
5
+
6
+ まずwikiの数式を読み、解説を読みました。で、その通りに実装してみました。以下のコード中でstep1、step2とあるところがwikiと対応しています。また、離散フーリエ変換の定義式を元にプログラムを組み、それと比較する実験も行いました。そのプログラムと以下のプログラムは結果が一致しました。
7
+
8
+ 次に、数式を小さいケースで手計算してみました。
9
+ `Fourier[{1, 4, 9, 16}]` というケースです。このフーリエ変換で得られるF(0)は、離散フーリエ変換の定義よりf(0)+f(1)+f(2)+f(3)つまり30となります。しかし、wolfram alphaでは15となっていました。どうもwolfram alphaが間違えている気がします。
10
+
11
+ しかし、私は別に数学者でもなんでもない一個人です。wolfram alphaが正しくて私が間違えているのかもしれません。
12
+
13
+ だから、プログラムの検証を求めます。これでもまだダメでしょうか?バカで幼稚だからよく分かりません
14
+
3
15
  ```cpp
4
16
  #include <iostream>
5
17
  #include <vector>

2

推敲

2016/09/13 14:10

投稿

pandanoir
pandanoir

スコア72

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,5 @@
1
- 高速フーリエ変換のプログラムをwikiの数式に従って書いてみました。が、Wolfram Alphaの計算結果とずれてしまいます。
1
+ 高速フーリエ変換のプログラムをwikiの数式に従って書いてみました。が、Wolfram Alphaの計算結果とずれてしまいます。具体的には、実部が3倍、虚部が-3倍ずれています。何がおかしいのでしょうか?ちなみに、Wolfram AlphaにはFourier[{0, 1, 4, 9, 16, 25, 36, 49, 64}]と打ち込みました。
2
2
 
3
- Wolfram AlphaにはFourier[{0, 1, 4, 9, 16, 25, 36, 49, 64}]と打ち込みました。実部が3倍、虚部が-3倍ずれています。何がおかしいのでしょうか?
4
-
5
3
  ```cpp
6
4
  #include <iostream>
7
5
  #include <vector>

1

タイトルをわかりやすく

2016/09/09 02:17

投稿

pandanoir
pandanoir

スコア72

title CHANGED
@@ -1,1 +1,1 @@
1
- 離散フーリエ変換の実装あっているわかりません
1
+ 高速フーリエ変換のプログラムの計算結果しい
body CHANGED
File without changes