C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■91944 / 14階層)  C++からVBへの変換
□投稿者/ 魔界の仮面弁士 (2300回)-(2019/08/12(Mon) 22:51:04)
No91932 (774RR さん) に返信
> FFT なんぞテキトーに探せばいくらでもライブラリが転がっているような気のせいがする。

下記によれば、Math.NET Numerics で処理できるっぽいです。
https://tomosoft.jp/design/?p=9127
https://www.nuget.org/packages/MathNet.Numerics/

MathNet.Numerics.IntegralTransforms 名前空間の Fourier クラスが、
 Public Shared Sub Forward(ByVal samples() As System.Numerics.Complex)
 Public Shared Sub Forward(ByVal samples() As System.Numerics.Complex, ByVal options As FourierOptions)
Public Shared Sub Forward(ByVal real() As Double, ByVal imaginary() As Double, Optional ByVal options As FourierOptions = FourierOptions.Default)
などのメソッドを持っていました。


Double 配列から、虚数データ無しの複素数構造体配列に変換する場合はこんな感じ。
 Dim rawData() As Double = 元データ
 Dim samples() As Complex = rawData.Select(Function(d) New Complex(d, 0#)).ToArray()


options 引数はフーリエ変換規則を示す物らしいですが…今回の目的に合致するものがあるかは分かりませんでした。

Dim options As FourierOptions
options = FourierOptions.Default '0: 普遍的; 対称スケーリングおよび共通指数(Maple で使用)
options = FourierOptions.AsymmetricScaling '2: 逆方向に 1/N だけスケーリング; 順方向のスケーリングなし
options = FourierOptions.Matlab '2: 逆方向に 1/N だけスケーリング; 順方向のスケーリングなし(Mathlab で使用) [AsymmetricScaling と同じ]
options = FourierOptions.NoScaling '4: 何もスケーリングしない (順方向変換でも逆方向変換でもない)
options = FourierOptions.InverseExponent '1: 逆被積分指数 (順方向:正符号、逆方向:負符号)
options = FourierOptions.NumericalRecipes '5: 逆被積分指数; 何もスケーリングしない(すべての数値レシピベースの実装で使用)[= InverseExponent Or NoScaling]
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[13]: C++からVBへの変換 /774RR →Re[15]: C++からVBへの変換 /えんえん
 
上記関連ツリー

C++からVBへの変換 / えんえん (19/08/08(Thu) 22:51) #91899
Re[1]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/08(Thu) 23:48) #91900
  └ Re[2]: C++からVBへの変換 / えんえん (19/08/09(Fri) 10:36) #91905
    └ Re[3]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/09(Fri) 12:18) #91906
      └ Re[4]: C++からVBへの変換 / えんえん (19/08/09(Fri) 12:28) #91907
        └ Re[5]: C++からVBへの変換 / Hongliang (19/08/09(Fri) 12:46) #91908
          └ Re[6]: C++からVBへの変換 / ぶなっぷ (19/08/09(Fri) 13:05) #91909
            └ Re[7]: C++からVBへの変換 / えんえん (19/08/09(Fri) 13:12) #91910
              ├ Re[8]: C++からVBへの変換 / Hongliang (19/08/09(Fri) 13:18) #91911
              │└ Re[9]: C++からVBへの変換 / えんえん (19/08/09(Fri) 13:23) #91912
              │  └ Re[10]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/09(Fri) 17:42) #91917
              └ Re[8]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/09(Fri) 13:54) #91913
                └ Re[9]: C++からVBへの変換 / えんえん (19/08/10(Sat) 07:13) #91924
                  └ Re[10]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/10(Sat) 09:41) #91925
                    └ Re[11]: C++からVBへの変換 / えんえん (19/08/10(Sat) 10:16) #91927
                      └ Re[12]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/10(Sat) 14:19) #91930
                        └ Re[13]: C++からVBへの変換 / 774RR (19/08/10(Sat) 15:02) #91932
                          ├ Re[14]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/10(Sat) 16:23) #91933
                          │└ Re[15]: C++からVBへの変換 / えんえん (19/08/11(Sun) 21:42) #91934
                          │  └ Re[16]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/12(Mon) 12:05) #91938
                          │    ├ Re[17]: C++からVBへの変換 / えんえん (19/08/12(Mon) 14:12) #91939
                          │    │├ Re[18]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/12(Mon) 16:25) #91940
                          │    │├ Re[18]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/12(Mon) 17:33) #91942
                          │    │└ Re[18]: C++からVBへの変換 / 774RR (19/08/12(Mon) 16:56) #91941
                          │    └ Re[17]: C++からVBへの変換 / 魔界の仮面弁士 (19/08/13(Tue) 01:00) #91946
                          └ C++からVBへの変換 / 魔界の仮面弁士 (19/08/12(Mon) 22:51) #91944 ←Now
                            └ Re[15]: C++からVBへの変換 / えんえん (19/08/13(Tue) 11:01) #91947

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信