我有一個問題,從我的數據集使用Math.NET .NET4.0計算FFT。FFT與Math.NET 4.0 - Complex32 []與複雜[]
我所使用的.NET 3.5 Math.NET像這樣沒有任何錯誤:
public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data)
{
Complex[] samples = new Complex[data.Length];
double[] FFT_abs_1d = new double[data.Length/2];
int zaehler = 0;
foreach(double val in data)
{
samples[zaehler] = new Complex(val, 0);
Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1)/2)/(sigma * (samples.Length - 1)/2)), 2)); // Gauß
samples[zaehler] = samples[zaehler].Real * Fenster[zaehler];
zaehler++;
}
MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
}
現在我想用.NET 4.0和複雜的[]不再知道 - 只有Complex32。 當我現在變更配合物[]至Complex32 []:
public Ergebnisse_FFT_Abs_PSD_MNF FFT_Abs_PSD_MNF(double[] data)
{
Complex32[] samples = new Complex32[data.Length];
double[] FFT_abs_1d = new double[data.Length/2];
int zaehler = 0;
foreach(double val in data)
{
samples[zaehler] = new Complex32((float)val, 0);
Fenster[zaehler] = Math.Exp(-0.5 * Math.Pow(((zaehler - (samples.Length - 1)/2)/(sigma * (samples.Length - 1)/2)), 2)); // Gauß
samples[zaehler] = samples[zaehler].Real * (float)Fenster[zaehler];
zaehler++;
}
MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward(samples, MathNet.Numerics.IntegralTransforms.FourierOptions.Matlab);
}
發生該錯誤消息:
錯誤7關於「MathNet.Numerics.IntegralTransforms.Fourier.BluesteinForward最好重載方法匹配(System.Numerics.Complex [],MathNet.Numerics.IntegralTransforms.FourierOptions)」有一些無效參數
有沒有人有一個想法,如何解決在.NET 4.0這個問題?
添加對System.Numerics的引用 –
程序集引用丟失。非常感謝 – MomooomoM