Quadraturformel bestimmen < Interpol.+Approx. < Numerik < Hochschule < Mathe < Vorhilfe
|
Aufgabe | Leiten Sie die zweite Radau-Legendre-Formel über dem Intervall [0,1] her:
[mm] R_2[f]=3/4f(1/3)+1/4f(1)\approx\integral_{0}^{1}{f(x) dx} [/mm] |
Hallo,
Ich habe ein Problem bei dieser Aufgabe.
Wir haben die Radau-Legendre-Formeln für das Intervall [-1,1] hergeleitet und nicht für [0,1]. Bei uns ist
[mm] R_m[f]=b_mf(1)+\summe_{i=1}^{m-1}b_if(x_i) [/mm] und die Stützstellen [mm] x_i [/mm] sind durch die Eigenwerte der Matrix [mm] \pmat{ 0 & \beta_1 & & 0 \\ \beta_1 & 0& \ddots&\\&\ddots&\ddots&\beta_{n-1}\\0&&\beta_{n-1}&\alpha_m} [/mm] mit [mm] \alpha_m=\bruch{m}{2m-1} [/mm] und [mm] \beta_n=\bruch{n}{\wurzel{4n^2-1}} [/mm] gegeben. Die Gewichte [mm] b_i [/mm] sind dann die jeweils erste Komponente des zu Eins normierten entsprechenden Eigenvektors.
An sich ist das kein Problem die zweite Radau-Legendre-Formel auszurechnen aber ich weiß absolut nicht wie ich sie nur auf das Intervall [0,1] beziehen soll.
Bis jetzt habe ich die Eigenwerte ausgerechnet [mm] (x_1=-\bruch{1}{3} [/mm] und [mm] x_2=1) [/mm] und die Knoten [mm] b_1=-\bruch{\wurzel{3}}{2} [/mm] und [mm] b_2=\bruch{\wurzel{10}}{3}.
[/mm]
Ja, leider sieht man dass die Ergebnisse nicht stimmen, also muss es wohl etwas mit dem Intervall zu tun haben.
Weiß jemand wie man das machen könnte?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 08:22 Di 15.09.2015 | Autor: | fred97 |
Ich würde das so machen: setze
[mm] $g(x):=\begin{cases} f(x), & \mbox{für } x \in [0,1] \\ f(-x), & \mbox{für } x \in [-1,0] \end{cases}$.
[/mm]
Überzeuge Dich von
(*) [mm] $\integral_{0}^{1}{f(x) dx}=\bruch{1}{2}*\integral_{-1}^{1}{g(x) dx}$.
[/mm]
Hast Du nun eine Quadraturformel für das Intervall [-1,1], so hast Du mit (*) auch eine Quadraturformel für das Intervall [0,1].
FRED
|
|
|
|
|
Vielen Dank für deine Antwort, aber ich komme auch damit nicht wirklich weiter.
Also angenommen [mm] (\star) [/mm] gilt. Dann könnte ich doch die Quadraturformel für das Intervall [-1,1] berechnen und dann mit [mm] \bruch{1}{2} [/mm] multiplizieren oder?
Um jetzt die Quadraturformel für [-1,1] zu berechnen habe ich folgendes gemacht:
[mm] \pmat{0 & \beta_1\\ \beta_1& \alpha_2 }=\pmat{ 0 & \bruch{1}{\wurzel{3}} \\ \bruch{1}{\wurzel{3}}& \bruch{2}{3} } [/mm] und die Eigenwerte von dieser Matrix sind die Stützstellen der Quadraturformel. Also [mm] x_1=-\bruch{1}{3} [/mm] und [mm] x_2=1. [/mm] Aber hier kann ja schon etwas nicht stimmen, denn [mm] x_1 [/mm] liegt gar nicht im Intervall [0,1]. Muss man die Stützstellen eventuell so skalieren, dass sie in [0,1] liegen? Und wenn ja, wie geht das?
Abgesehen davon habe ich dann die Eigenvektoren ausgerechnet: [mm] w_1=\vektor{-\wurzel{3} \\ 1} [/mm] und [mm] w_2=\vektor{\bruch{\wurzel{3}}{3} \\ 1} [/mm] und dann normiert: [mm] \tilde{w}_1=\vektor{-\bruch{\wurzel{3}}{2} \\ \bruch{1}{2}} [/mm] und [mm] \tilde{w}_2=\vektor{\bruch{1}{2} \\ \bruch{3}{\wurzel{12}}}.
[/mm]
Die jeweils ersten Komponenten sind nun die Gewichte und damit bekommt man die Quadraturformel [mm] R_2[f]=-\bruch{\wurzel{3}}{2}f(-\bruch{1}{3})+\bruch{1}{2}f(1).
[/mm]
Aber auch wenn ich diese jetzt mit [mm] \bruch{1}{2} [/mm] multipliziere, kommt nicht die gesuchte Formel heraus...
Noch eine Anmerkung: Ich habe gerade im Buch gelesen, dass die Knoten [mm] x_1 [/mm] und [mm] x_2 [/mm] linear auf [0,1] transformiert werden müssen und die Gewichte halbiert werden müssen. Ich weiß aber leider nicht wie man solch eine Transformation machen könnte.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 17:36 Mi 16.09.2015 | Autor: | meili |
Hallo,
> Vielen Dank für deine Antwort, aber ich komme auch damit
> nicht wirklich weiter.
> Also angenommen [mm](\star)[/mm] gilt. Dann könnte ich doch die
> Quadraturformel für das Intervall [-1,1] berechnen und
> dann mit [mm]\bruch{1}{2}[/mm] multiplizieren oder?
> Um jetzt die Quadraturformel für [-1,1] zu berechnen habe
> ich folgendes gemacht:
> [mm]\pmat{0 & \beta_1\\ \beta_1& \alpha_2 }=\pmat{ 0 & \bruch{1}{\wurzel{3}} \\ \bruch{1}{\wurzel{3}}& \bruch{2}{3} }[/mm]
> und die Eigenwerte von dieser Matrix sind die Stützstellen
> der Quadraturformel. Also [mm]x_1=-\bruch{1}{3}[/mm] und [mm]x_2=1.[/mm] Aber
> hier kann ja schon etwas nicht stimmen, denn [mm]x_1[/mm] liegt gar
> nicht im Intervall [0,1]. Muss man die Stützstellen
> eventuell so skalieren, dass sie in [0,1] liegen? Und wenn
> ja, wie geht das?
> Abgesehen davon habe ich dann die Eigenvektoren
> ausgerechnet: [mm]w_1=\vektor{-\wurzel{3} \\ 1}[/mm] und
> [mm]w_2=\vektor{\bruch{\wurzel{3}}{3} \\ 1}[/mm] und dann normiert:
> [mm]\tilde{w}_1=\vektor{-\bruch{\wurzel{3}}{2} \\ \bruch{1}{2}}[/mm]
> und [mm]\tilde{w}_2=\vektor{\bruch{1}{2} \\ \bruch{3}{\wurzel{12}}}.[/mm]
Das habe ich auch herausbekommen.
Aber könnte man für [mm]\tilde{w}_1[/mm] nicht genauso gut [mm]\tilde{w}_1=\vektor{\bruch{\wurzel{3}}{2} \\ -\bruch{1}{2}}[/mm] nehmen?
Wenn dann noch in der Aufgabenstellung das Wurzelzeichen über der
3 vergessen wurde, ist mit der Intervalltransformation alles gut.
>
> Die jeweils ersten Komponenten sind nun die Gewichte und
> damit bekommt man die Quadraturformel
> [mm]R_2[f]=-\bruch{\wurzel{3}}{2}f(-\bruch{1}{3})+\bruch{1}{2}f(1).[/mm]
> Aber auch wenn ich diese jetzt mit [mm]\bruch{1}{2}[/mm]
> multipliziere, kommt nicht die gesuchte Formel heraus...
>
> Noch eine Anmerkung: Ich habe gerade im Buch gelesen, dass
> die Knoten [mm]x_1[/mm] und [mm]x_2[/mm] linear auf [0,1] transformiert
> werden müssen und die Gewichte halbiert werden müssen.
> Ich weiß aber leider nicht wie man solch eine
> Transformation machen könnte.
Mit folgender linearen Abbildung kann man das Intervall [-1;1] auf das
Intervall [0;1] abbilden:
$f: [-1;1] [mm] \to [/mm] [0;1]$
$f(a) = [mm] \bruch{1}{2}*a+\bruch{1}{2}, \quad [/mm] a [mm] \in [/mm] [-1;1]$
Allgemein kann man ein Intervall [a;b] auf ein Intervall [c;d] folgendermaßen abbilden:
$x [mm] \mapsto [/mm] c + [mm] \bruch{x-a}{b-a}*(d-c)$
[/mm]
Gruß
meili
|
|
|
|
|
> Mit folgender linearen Abbildung kann man das Intervall
> [-1;1] auf das
> Intervall [0;1] abbilden:
>
> [mm]f: [-1;1] \to [0;1][/mm]
> [mm]f(a) = \bruch{1}{2}*a+\bruch{1}{2}, \quad a \in [-1;1][/mm]
>
> Allgemein kann man ein Intervall [a;b] auf ein Intervall
> [c;d] folgendermaßen abbilden:
>
> [mm]x \mapsto c + \bruch{x-a}{b-a}*(d-c)[/mm]
>
> Gruß
> meili
>
Ja super, das hat mir schon sehr weitergeholfen.
Ich glaube man muss die Gewichte nicht halbieren, sondern quadrieren denn dann erhält man das gewünschte Ergebnis. Nur verstehe ich bis jetzt noch nicht woher das kommt.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 07:55 Do 01.10.2015 | Autor: | meili |
Hallo,
> > Mit folgender linearen Abbildung kann man das Intervall
> > [-1;1] auf das
> > Intervall [0;1] abbilden:
> >
> > [mm]f: [-1;1] \to [0;1][/mm]
> > [mm]f(a) = \bruch{1}{2}*a+\bruch{1}{2}, \quad a \in [-1;1][/mm]
> >
>
> > Allgemein kann man ein Intervall [a;b] auf ein Intervall
> > [c;d] folgendermaßen abbilden:
> >
> > [mm]x \mapsto c + \bruch{x-a}{b-a}*(d-c)[/mm]
> >
> > Gruß
> > meili
> >
> Ja super, das hat mir schon sehr weitergeholfen.
> Ich glaube man muss die Gewichte nicht halbieren, sondern
> quadrieren denn dann erhält man das gewünschte Ergebnis.
> Nur verstehe ich bis jetzt noch nicht woher das kommt.
In "Grundlagen der Numerischen Mathematik und des Wissenschaftlichen
Rechnens" von Martin Hanke-Bourgeois Seite 347, Algorithmus 41.1
habe ich eine Berechnung der Gewichte gefunden, die etwas von der
abweicht, die du benutzt hast.
[mm] $R_m[f] [/mm] = [mm] \summe_{i=1}^m \bruch{2w_{1i}^2}{\parallel w_i \parallel^2_2}f(\lambda_i)$
[/mm]
mit Eigenwerten [mm] $\lambda_i$, [/mm] zugehörigen Eigenvektoren [mm] $w_i$
[/mm]
und [mm] $w_{1i}$ [/mm] der ersten Komponente des Eigenvektors [mm] $w_i$.
[/mm]
Setzt man die berechneten Eigenvektoren ein und teilt die erhaltenen
Gewichte durch 2 wegen der Intervallverschiebung, kommt das
gewünschte Ergebnis heraus.
Gruß
meili
|
|
|
|
|
Genau. Super, vielen Dank!
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 06:02 Fr 25.09.2015 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|