Transformarea Fourier inversă, transformarea între fluxul complex și dublu-stack overflow în rusă

Iată sursa din care am luat formule

Transformarea Fourier inversă, transformarea între fluxul complex și dublu-stack overflow în rusă

Și așa că am U (jw) -ona în metoda mea GetSpectralDensityOfAmplitude (GetSpectralDensity (U, angularFrequency, T))

Ceea ce am făcut a fost făcut

adică, a luat U '(w) departe de U "(w) Și valorile deja planificate au fost deja înlocuite în formula. Nici o fază, așa cum am arătat mai devreme, nu găsesc separat, tot așa cum am înțeles că este în valoarea găsită ValFurieTrans

Acum, de fapt, programul de implementare a problemelor este în sintaxa formulei, poate că nu o scriu în cod

Injuriile de pe Math.Cos (anguarFrequency * w -ValFurieTrans) transformarea tipului de „System.Numerics.Complex“ în „dubla“ este imposibil

Și acum încercările mele, pe care le-am adus pentru a corecta situația.

Dacă în loc de Math.Sin, Math.Cos scriu Complex.Sin, Complex.Cos, compilatorul va returna o astfel de eroare

Nu puteți converti o expresie lambda la un delegat "System.Func", deoarece unele dintre tipurile de rezultate returnate de bloc nu pot fi convertite implicit în tipul de rezultat returnat de delegat

Este de înțeles că metoda Calculate conține un Func și nu cred că trebuie să refacem întreaga clasă și metode în Complex.

Am făcut metode separate Calculate1 cu tipul complex, dar compilatorul este neîncetat.

Și dacă o fac

Compilatorul va trece peste acest lucru, dar va exista o altă problemă, când programul se execută, apare o excepție în linia de sus.

Dar problema cu transformarea de la complex la dublu se mută la această linie. Problema este în sintaxa. Prin urmare, există probleme cu transformarea.