質問編集履歴
3
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
推敲
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
タイトルをわかりやすく
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
高速フーリエ変換のプログラムの計算結果がおかしい
|
body
CHANGED
File without changes
|