Summering av Riemannsumma
Hej!
Jag ska summera
med hjälp av Riemannsummor i MATLAB på fyra olika sätt (vänster och höger rektangelregel, mittpunktsmetoden samt trapetsmetoden. För höger rektangelregel har jag gjort såhär (och på liknande sätt med vänster)
n = 100;
a = 0; b = 1;
f=@(x)(x.*sin(x));
x = linspace (a,b,n+1);
h = (b-a)/n;
q1 = sum(h.*f(x(1:n)));
Jag tror att detta ska stämma. Jag vet dock inte hur jag ska gå vidare med mittpunktsmetoden/trapetsmetoden. Jag testade att använda en vektor i summeringen även denna gång.
s = a + (h/2)
och vektorn s:n-1, men det verkade inte fungera. Funderade även på att använda en for-loop men osäker på hur det skulle se ut. Ganska ny på programmering så lite lost. Någon som vet hur man ska tänka?
Egentligen går båda att lösa på ungefär samma sätt, bara några mindre saker som måste modifieras jämfört med vänster- och högerrektangelreglerna. Fundera över vad som skiljer de olika metoderna åt, och hur det resulterar i olika summeringar. Båda går att lösa enbart genom att ändra på det du skriver innanför sum().
För mittpunktsmetoden vill du ju använda funktionsvärdet "i mitten" av rektangeln. För att få det kan du ta genomsnittet av x-värdet till vänster och x-värdet till höger. (Tips: jämför lösningarna för vänster och höger rektangelregel).
På samma sätt vill du för trapetsmetoden använda dig av x-värdena till vänster och höger. Skillnaden där är dock att istället för att ta genomsnittet av x-värdena och räkna ut funktionsvärdet för det, vill du räkna ut funktionsvärdena för respektive punkt och sedan ta genomsnittet av funktionsvärdena.
Lycka till!