D
Hallo zusammen,
Ich stehe vor dem problem, dass ich eine mit der greenschen funktion gewichtete funktion doppelt über eine fläche integrieren muss:
∫_0a∫_0b∫_0a∫_0bf(x,y,x′,y′)e−jkRRdxdydx′dy′\int\_0^{a} \int\_0^{b} \int\_0^{a} \int\_0^{b} f(x,y,x',y') \frac{e^{-jkR}}{R} dx dy dx' dy'∫_0a∫_0b∫_0a∫_0bf(x,y,x′,y′)Re−jkRdxdydx′dy′
mit
R=(x−x′)2+(y−y′)2R=\sqrt{(x-x')^2+(y-y')^2}R=√(x−x′)2+(y−y′)2
wobei f(x,y,x',y') sich aus einzelnen sinus-termen zusammensetzt und gut zu integrieren ist, also keine Probleme bereitet.
Das ganze möchte ich mit der gauss-legendre-integration durchführen, die ich in "numerical recipes" (http://www.nr.com/) gefunden habe. Den C-Code habe ich für meine anwendung entsprechend umgewandelt und habe auch schon einige ergebnisse erhalten.
ich stehe dabei dabei aber nun vor dem problem, dass bei meinen ergebnissen der realteil absolut nicht konvergieren will.
Hier mal ein paar ergebnisse, mit (Realteil,Imaginärteil):
integrierte Funktion: e−jkRe^{-jkR}e−jkR
Integrationspunkte: 10; Ergebnis: (-8.1592e-008,-1.74878e-008)
Integrationspunkte: 15; Ergebnis: (-8.1592e-008,-1.6844e-008)
Integrationspunkte: 20; Ergebnis: (-8.1592e-008,-1.66794e-008)
Integrationspunkte: 25; Ergebnis: (-8.1592e-008,-1.66187e-008)
Integrationspunkte: 30; Ergebnis: (-8.1592e-008,-1.65911e-008)
Integrationspunkte: 35; Ergebnis: (-8.1592e-008,-1.65768e-008)
Integrationspunkte: 40; Ergebnis: (-8.1592e-008,-1.65687e-008)
Integrationspunkte: 45; Ergebnis: (-8.1592e-008,-1.65637e-008)
Integrationspunkte: 50; Ergebnis: (-8.1592e-008,-1.65605e-008)
integrierte Funktion: f(x,y,x′,y′)e−jkRf(x,y,x',y') e^{-jkR}f(x,y,x′,y′)e−jkR
Integrationspunkte: 10; Ergebnis: (-0.000244751,-2.35356e-005)
Integrationspunkte: 15; Ergebnis: (-0.000244751,-2.03679e-005)
Integrationspunkte: 20; Ergebnis: (-0.000244751,-1.95703e-005)
Integrationspunkte: 25; Ergebnis: (-0.000244751,-1.92774e-005)
Integrationspunkte: 30; Ergebnis: (-0.000244751,-1.91449e-005)
Integrationspunkte: 35; Ergebnis: (-0.000244751,-1.90763e-005)
Integrationspunkte: 40; Ergebnis: (-0.000244751,-1.90372e-005)
Integrationspunkte: 45; Ergebnis: (-0.000244751,-1.90133e-005)
Integrationspunkte: 50; Ergebnis: (-0.000244751,-1.89979e-005)
integrierte Funktion: f(x,y,x′,y′)e−jkRRf(x,y,x',y') \frac{e^{-jkR}}{R}f(x,y,x′,y′)Re−jkR
Integrationspunkte: 10; Ergebnis: (-0.0133339,-0.0508721)
Integrationspunkte: 15; Ergebnis: (-0.00813934,-0.0508721)
Integrationspunkte: 20; Ergebnis: (-0.00550261,-0.0508721)
Integrationspunkte: 25; Ergebnis: (-0.00389667,-0.0508721)
Integrationspunkte: 30; Ergebnis: (-0.00281325,-0.0508721)
Integrationspunkte: 35; Ergebnis: (-0.00203215,-0.0508721)
Integrationspunkte: 40; Ergebnis: (-0.00144199,-0.0508721)
Integrationspunkte: 45; Ergebnis: (-0.000980237,-0.0508721)
Integrationspunkte: 50; Ergebnis: (-0.000609016,-0.0508721)
Die Exponetialfunktion für sich und auch gewichtet mit f konvergieren dabei recht gut. bringe ich nun aber die division durch R und damit die mögliche polstelle dazu, fängt der realteil an zu spinnen (letztes listing). komisch find ich nur, dass der imaginärteil dabei praktisch konstant bleibt?!
die polstelle hab ich bei der integration bis jetzt umgangen, indem ich mir die tatsache zunutze gemacht habe, dass bei der gauss-integration mit n und mit n+1 stützstellen immer unterschiedliche stützstellen genutzt werden (also für x und y mit n stellen und für x' und y' mit n+1 stellen integriert) und damit keine division durch null stattfindet. die grenzwert-berechnung für die polstelle hab ich bis jetzt vermieden, da ich nicht so recht weiß, wie ich das angehen soll. vielleicht ist das eine mögliche fehlerursache.
wenn irgendjemand eine idee hat, wie ich ein bißchen stabilität in den realteil bringen könnte, wäre ich dafür ausgesprochen dankbar. ich weiß hier im moment nämlich nicht mehr weiter
grüße, christian