Simpsons regel
Simpsons regel, efter Thomas Simpson, används för att approximera en integral.
Förklaring
Simpsons regel är ett sätt att uppskatta en integral till en funktion genom att ersätta detta med ett andragradspolynom som antar samma värde som i ändpunkterna och mittpunkten . För att kunna använda simpsons regel så måste alltså värdet på vara känt i dessa tre punkter.
Det andragradspolynom som uppfyller dessa krav kallar vi och detta kan vi få fram med bland annat Newtons eller Lagranges interpolationspolynom där den senare ser ut som följer:
Där alltså är
och
Ur detta ses att om funktionen är ett andragradspolynom så kommer vara exakt lika med .
Härledning
Härledning med hjälp av Lagranges interpolationspolynom
För att härleda att regeln ser ut som den gör behöver man bara integrera det uttrycket som står ovan. Om man nu sätter att
dvs. den längd det mellan och eller och kan man skriva om uttrycket på det något trevligare utseendet:
Om man nu integrerar med avseende på x så kommer man få en enkel integralberäkning som dock är väldigt lång och därför kommer inte hela presenteras. Om man bara tittar på kvoten efter och integrerar denna så kan man uppfattning om att det ändå stämmer, så att:
Och integralen av blir då alltså
Vilket stämmer med ovan. De andra två räknas ut på likartat sätt och resultatet ovan kommer att erhållas. Nämnaren 3 gör att uttrycket ibland kallas Simpsons 1/3 regel.
Restterm
Integralen av interpolationspolynomet kan även skrivas med en restterm och får då utseendet
Där
Det största möjliga felet som kan inträffa gör alltså det när absolutbeloppet av fjärdederivatan av f är så stort som möjligt. Det största felet kan skrivas som
Simpsons 3/8 regel
Om man istället vet värdet hos en funktion i fyra skilda punkter kan man göra som ovan men ersätta funktionen med ett tredjegradspolynom. Härledningen ser väldigt likartad ut som den ovan. Lagranges interpolationspolynom blir då
Där
Simpsons 3/8 regel säger då att
Och att detta i sin tur är
MATLAB-implementation
Simpsons regel kan implementeras i MATLAB enligt följande:
function [P] = simpson(f,a,b,n)
%f=funktionens namn, a=startvärde, b=slutvärde,
%n=antal iterationer
h=(b-a)/n;
S=f(a);
i=1:2:n-1;
x=a+h.*i;
y=f(x);
S=S+4*sum(y);
i=2:2:n-2;
x=a+h.*i;
y=f(x);
S=S+2*sum(y);
S=S+f(b);
P=h*S/3;
end
Källor
- ^ http://planetmath.org/?op=getobj&from=objects&id=7979 Planet Math: bound on error of Simpson's rule