Iată sursa din care am luat formule
Ș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.