Newtoninterpolation < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 19:05 Mi 19.11.2008 | Autor: | Franzie |
Hallo ihr Lieben!
Ich soll zu einer gegebenen Funktion das Newton-Polynom berechnen lassen. Hab jetzt durch das Schema mit den dividierten DIfferenzen die Koeffizienten c heruasbekommen durch folgenden Algorithmus:
for p=1:1:n %Berechnung aller c in der ersten "Ebene" Achtung. Es beginnt mit c(1)!
c(p)= f(p);
end
for j=1:1:n-1 %Bestimmung der Ebene
for p=n:-1:j+1 %Bestimmung der neuen c
c(p)=(c(p)-c(p-1))/(x(p)-x(p-j)); %Berechnung von c mit div. Differenzen
end
end
'Die c''s'' des Newton Polynoms lauten'
c % Ausgabe von c
Leider weiß ich jetzt nicht, wie ich mir das Polynom ausgeben lassen kann. Gibt es dafür eine Funktion in Matlab oder könnt ihr mir andersweitig auf die Sprünge helfen?
liebe Grüße
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:58 So 30.11.2008 | Autor: | rainerS |
Hallo
> Ich soll zu einer gegebenen Funktion das Newton-Polynom
> berechnen lassen. Hab jetzt durch das Schema mit den
> dividierten DIfferenzen die Koeffizienten c heruasbekommen
> durch folgenden Algorithmus:
> for p=1:1:n %Berechnung aller c in der ersten "Ebene"
> Achtung. Es beginnt mit c(1)!
> c(p)= f(p);
> end
> for j=1:1:n-1 %Bestimmung der Ebene
> for p=n:-1:j+1 %Bestimmung der neuen c
> c(p)=(c(p)-c(p-1))/(x(p)-x(p-j)); %Berechnung
> von c mit div. Differenzen
> end
> end
> 'Die c''s'' des Newton Polynoms lauten'
> c % Ausgabe von c
>
> Leider weiß ich jetzt nicht, wie ich mir das Polynom
> ausgeben lassen kann. Gibt es dafür eine Funktion in Matlab
> oder könnt ihr mir andersweitig auf die Sprünge helfen?
Du kannst einen Ausdruck mit "disp" ausgeben:
disp("Die c''s'' des Newton Polynoms lauten"), disp(c)
Viele Grüße
Rainer
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:22 Di 02.12.2008 | Autor: | Franzie |
Danke für die Antwort. Aber das ist nicht ganz das, was ich meine. Ich habe jetzt die Koeffizienten c ausrechnen lassen.
Nun weiß ich nicht, wie ich Matlab dazu bringen kann, mir daraus das entsprechende Newtonpolynom zu formen, also nicht als direkte Ausgabe auf dem Bildschirm für den Nutzer, sondern zum Weiterrechnen (Fehleranalyse). Wie mach ich das denn?
liebe Grüße
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:30 Mi 03.12.2008 | Autor: | rainerS |
Hallo!
> Danke für die Antwort. Aber das ist nicht ganz das, was ich
> meine. Ich habe jetzt die Koeffizienten c ausrechnen
> lassen.
> Nun weiß ich nicht, wie ich Matlab dazu bringen kann, mir
> daraus das entsprechende Newtonpolynom zu formen, also
> nicht als direkte Ausgabe auf dem Bildschirm für den
> Nutzer, sondern zum Weiterrechnen (Fehleranalyse). Wie mach
> ich das denn?
Du möchtest das Polynom auswerten; das geht mit polyval.
Viele Grüße
Rainer
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 20:31 Sa 06.12.2008 | Autor: | Franzie |
Ich glaube, wir reden aneinander vorbei.
Ich will folgende Form erzeugen: p(x)=c1+c2(x-x1)+c3(x-x1)(x-x2)+....+cn(x-x1)*....(x-xn)
oder wie kann ich sonst das Polynom plotten, wenn ich nur die Koeffizienten c habe?
|
|
|
|
|
Da ist polyval schon richtig.
Beispiel:
1: | x=-10:10;
| 2: | p = [3 2 1]; % Koeffizienten von f(x)=3x^2+2x+1
| 3: | y = polyval(p,x); % Polynom an Stuetzstellen berechnen
| 4: | plot(x,y); |
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 16:19 So 07.12.2008 | Autor: | Franzie |
Ah, danke. Ich hab's endlich geschnallt.
Vielen dank für eure Geduld.
liebe Grüße
|
|
|
|