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