Nichtlin. Gleichungssy. Newton < Nichtlineare Gleich. < Numerik < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 22:33 Mi 05.07.2006 | Autor: | hEiDiii |
Aufgabe | Aufgabe
Implementieren Sie in Matlab das Newton-Verfahren für nicht-lineare Gleichungssysteme:
a) die gegebene Funktion
F(x,y) =
mit
= r sin t - r t cos t - 1 = 0
= r cos t + r t sin t - r - 1 =0
|
Diese oben genannte Formel ist mit Hilfe von MATLAB zu lösen.
Was sagt, diese Formel überhaupt aus? Wie funktioniert das Verfahren genau?
Leider habe ich keine Ahnung wie ich dass im Matlab lösen kann, da ich nie wirklich damit gearbeitet habe.
Wäre über eine Hilfe wirklich sehr sehr dankbar
gruss hEiDi
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 09:55 Fr 07.07.2006 | Autor: | hEiDiii |
Aufgabe | Ich habe folgenden Code für das Newton Verfahren für nicht lineare Gleichungssysteme:
%Skript zum Testen des Newton-Verfahrens für nicht lineare
%Gleichungssysteme
clear all;
format long;
%Teilaufgabe a) mit Startwert x=[0,0]
x=[0,0]';
for i=1:5
sprintf('Iterationsschritt %d der Teilaufgabe a)',i)
%Formel zur Berechnung der [mm] x_i
[/mm]
x=x-jacobi_a(x)\F_a(x)'
end
%Teilaufgabe b) mit Startwert x=[2,1.2]
x=[2,1.2]';
for i=1:5
sprintf('Iterationsschritt %d der Teilaufgabe b)',i)
%Formel zur Berechnung der [mm] x_i
[/mm]
x=x-jacobi_b(x)\F_b(x)'
end
%Funktion der Teilaufgabe a) wird hier an der Stelle x ausgewertet
1: | function f=F_a(x)
| 2: | f(1)=x(1)^2+x(2)^2+x(2)-1;
| 3: | f(2)=x(1)^2-x(2)^2+x(1)-x(2)-2; |
|
Leider habe ich keine Ahnung wie ich das bewerkstelligen soll.
a, b sind ja reelle zahlen, kann ich für die irgendeinen wert annehmen?
oder definiere ich sie schon in der matlab funktion?
und wie weiß ich aufgrund der formel ob die matrix dann eindimensional oder zweidimensonal ist??
In welchen Schritten muss ich genau vorgehen?
bitte nochmals um hilfe, wäre supa nett.
gruss
|
|
|
|
|
Hallo hEiDi,
> Ich habe folgenden Code für das Newton Verfahren für nicht
> lineare Gleichungssysteme:
>
> %Skript zum Testen des Newton-Verfahrens für nicht
> lineare
> %Gleichungssysteme
> clear all;
> format long;
> %Teilaufgabe a) mit Startwert x=[0,0]
> x=[0,0]';
> for i=1:5
> sprintf('Iterationsschritt %d der Teilaufgabe a)',i)
> %Formel zur Berechnung der [mm]x_i[/mm]
> x=x-jacobi_a(x)\F_a(x)'
> end
>
> %Teilaufgabe b) mit Startwert x=[2,1.2]
> x=[2,1.2]';
>
> for i=1:5
> sprintf('Iterationsschritt %d der Teilaufgabe b)',i)
> %Formel zur Berechnung der [mm]x_i[/mm]
> [mm][code]x=x-jacobi_b(x)\F_b(x)'[/code][/mm]
> end
>
> Leider habe ich keine Ahnung wie ich das bewerkstelligen
> soll.
Was ist denn nun unklar? Wie das Newtonverfahren aussieht?
> a, b sind ja reelle zahlen, kann ich für die irgendeinen
> wert annehmen?
Da steht doch gar nichts von a und b
> oder definiere ich sie schon in der matlab funktion?
> und wie weiß ich aufgrund der formel ob die matrix dann
> eindimensional oder zweidimensonal ist??
Die Jacobimatrix ist eine 2x2 Matrix da die Funktion F von [mm] R^2 [/mm] nach [mm] R^2 [/mm] abbildet.
> In welchen Schritten muss ich genau vorgehen?
Naja erstmal sich Fragen stellen:
1. Wie funktioniert das Newtonverfahren?
2. Wie schreibt man eine Funktion in Matlab?
3. Welche Funktionen brauche ich? ( Dein (von irgendwo kopiertes?) Programm benutzt zumindest die Funktionen jacobi_a und F_a)
Welche dieser Fragen kannst Du mit einem klaren "weiß ich" beantworten?
viele Grüße
mathemaduenn
|
|
|
|