Lagrangeinterpolatie in matlab

Moderators: dirkwb, Xilvo

Forumregels
(Middelbare) school-achtige vragen naar het forum "Huiswerk en Practica" a.u.b.
Zie eerst de Huiswerkbijsluiter
Reageer
Berichten: 771

Lagrangeinterpolatie in matlab

Ik moet een matlab functie schrijven waarbij 8 concentraties gegeven zijn per 2 jaar.

gevraagd is de concentratie in 1994 berekend door interpolatie met de lagrangeveelterm

Dit is de code van de functie

Code: Selecteer alles

function lagrange

X=[1978 1980 1982 1984 1986 1988 1990 1992];

f=[12; 12.7; 13; 15.2; 18.2; 19.8; 24.1; 28.1];

P=0;

x=1978:0.2:1994;

for j=1:numel(X)

L = 1;

for i=1:numel(X)

if (i~=j)

L=L.*(x-X(i))/(X(j)-X(i));

end

end

P=P+L*f(j);

end

plot(x,P)

end
Op zich lijkt hij mij wel te kloppen, maar als resultaat krijg ik:

Afbeelding

Voor 1994 krijg ik een concentratie van -38.4

dit kan natuurlijk allemaal niet in werkelijkheid...

Anderzijds denk ik intuïtief wel dat eens je een punt zoekt buiten het interval van je spilpunten, je een grotere fout krijgt

Maar dit vind ik toch wel beetje extreem...

Dus kan zon grote (in werkelijkheid foute) afwijking wel?

Gebruikersavatar
Berichten: 5.609

Re: Lagrangeinterpolatie in matlab

Zulke dingen kunnen perfect met Lagrange-interpolatie. De interpolatie is alleen maar 'goed' binnen de waarden waartussen je interpoleert (en dan nog), ook zal op het eerste zicht P een 9de machts veelterm zijn, en die dingen gaan inderdaad snel naar +-oo.

Lagrange-interpolatie garandeert ENKEL dat de functie door de punten gaat, en is dus enkel (in sommige gevallen!) goed voor INTERpolaties.

Voor dergelijke EXTRApolaties zoals je ze hier wil maken, gebruik je dus beter andere methoden.
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Berichten: 771

Re: Lagrangeinterpolatie in matlab

Ok, dat vermoedde ik al

De opdracht was om het met lagrange te doen, maar misschien was het net de bedoeling van die opdracht om aan te tonen hoe slecht het gaat...

(in een latere opdracht moet ik het met cubic spline doen)

Gebruikersavatar
Berichten: 5.609

Re: Lagrangeinterpolatie in matlab

(in een latere opdracht moet ik het met cubic spline doen)
Innige deelneming :eusa_whistle:
What it all comes down to, is that I haven't got it all figured out just yet

And I've got one hand in my pocket and the other one is giving the peace sign

-Alanis Morisette-

Reageer