%% 18 Approximation av bestämd integral
% Takeaways
% Vänster och högersumma till en integral
% Mittpunktsmetoden
% Trapetsmetoden
% Den bestämda integralen  \int_a^b f(x)\, dx  av funktionen f  på intervallet  [a,\, b] definieras via så kallade Riemannsummor. En sån får man genom att välja en partition  \mathcal P  av intervallet, dvs en följd av punkter a= x_0<x_1<x_2<\cdots <x_{n-1}<x_n=b,där avståndet mellan två på varandra följande punkter alltid är samma. Punkterna kan variera i antal, men om det är känt kommer avståndet mellan två på varandra följande punkter att vara känt. Vi betecknar det med \Delta x=(b-a)/n. . Det kan tyckas onödigt att ha med  a  och  b  i följden eftersom de är givna från början, men det visar sig vara lämpligt för att kunna skriva upp uttryck behändigt.
% Att tagga partitionen  \mathcal P  betyder att man gör ett val av punkter  t_1,\, t_2,\ldots,\,t_{n} så att
% t_1\in[x_0,\, x_1],\, t_2\in [x_1,x_2],\, \ldots ,\, t_{n}\in[x_{n-1}, x_n].
% En taggad partiion beteckas \mathcal P^{\#}. Det finns förstås många sätt att tagga en given partition. Man kan  t.ex. att välja taggen som vänstra ändpunten i varje delintervall, högra ändpunkten, eller mittpunkten.
% Riemannsumman av f med avseende på \mathcal P^{\#} definieras som
% f(t_1)\Delta x + f(t_2)\Delta x + \cdots+ f(t_{n-1})\Delta x +f(t_{n})\Delta x =\\=\sum_{i=1}^{n}f(t_i)\Delta x =\Delta x \sum_{i=1}^nf(t_i)
%
% Funktionen f är integrerbar på [a,\,b] om det finns ett tal I så att varje omgivning till  I innehåller alla Riemansummor för taggade partitioner med tillräckligt många delningspunkter.
% Mer precis ska det för varje  \epsilon>0  finnas ett N så att för varje taggad partition med fler än N+1 delningspunkter (n>N) gäller att
% |I-\sum_{i=1}^nf(t_i)\Delta x |<\epsilon
% Detta tal betecknas då \int_a^b\!f(x)\,dxoch kallas (den bestämda) integralen av f över intervallet [a,\,b].
% Det är känt att
% Varje funktion f som är kontinuerlig på [a,\, b] är integrerbar på intervallet.
% Varje funktion f som är kontinuerlig på [a,\,b] har en primitiv funktion F på intervallet, dvs en kontinuerlig funktion sån att F'(x)=f(x) för alla x\in(a,\, b).
% När F är en primitiv funktion till f gäller att \int_a^b\!f(x)\,dx=F(b)-F(a).
% Ett problem med detta är att, även om man har en stillig formel för f uttryckt med elementära funktioner, så går det inte alltid att utrycka F på detta sätt. I stället för att beräkna \int_a^b\!f(x)\,dxanalytiskt återstår då att approximera talet numeriskt.
% För att approximera \int_a^b\!f(x)\,dx mer och mer noggrant finns det i princip följande metoder
% Välja fler delningspunker (öka n och minska \Delta x).
% Välja taggarna lämpligt.
% Approximera f på varje delintervall, med nån funktion där integralen över det kan beräknas analytiskt.
% När man approximerar är det förstås intressant att kunna uppskatta hur nära man hamnar det verkliga värdet. Vi ska återkomma till det problemet senare.
%% 18.1 Vänster- och högersummor
% Den kanske enklaste, men i allmänhet inte den effektivaste metoden, är att väljar taggarna till vänster eller höger ändpunkt i delintervallen i Riemannsumman, Det ger det som kallas vänster- repektive högersummor som betecknas L_n repektive R_n, där n är antalet delintervall.
% \begin{array}{rcl}
% L_n &=&\Delta x(f(x_0)+f(x_1)+\cdots+f(x_{n-1}))\\
% R_n &=& \Delta x(f(x_1)+f(x_2)+\cdots +f(x_n))
% \end{array}
% Uppgift 18.1
% a) Uppskatta  \displaystyle \int_1^3\,\frac{\sin x}{x}\, dx  med vänster- och högersummor. Använd 200 delningspunkter.
% b) Gör en tabell över vänster- och högersummor när antalet delar du delar in intervallet i  väljs till 1000 upp till 4000 i steg om 500. Ta med avståndet mellan vänter- och högersummor i tabellen
% Lösning   Det är känt att en primitiv funktion till  \sin x / x  inte kan uttryckas med (de vanliga) elementära funktionerna.
%



%
% Uppgift 18.2
% a)  Skriv funktionen  integrera  som till en anonym funktion  f , ett intervall [ a , b ]  (i form av en radvektor), ett heltal  n  och ett av orden 'Left'  eller  'Right'  levererar vänster- respektive högersumman till  f  över intervallet  med   n  delintervall.
% b)  Använd  intgrera  för att beräkna några vänster- och högersummor till funktionen f(x)=x^2  över intervallet  [0,\, 2].
% Lösning
% a)
% function  res = integrera( f , I , n , str )
%     a = I( 1 ) ; b = I( 2 ) ;
%     delta = ( b - a ) / n ;
%
%     xv = linspace( a , b , n+1 ) ;
%     fv = f( xv ) ;
%
%     if strcmp( str , 'Left')
%         res = delta * sum( fv( 1 : end-1 ) ) ;
%     elseif strcmp( str , 'Right' )
%         res = delta * sum( fv( 2 : end ) ) ;
%     else
%         msg = 'Unknow option' ;
%         disp( msg )
%         res = [ ] ;
% end
% b)



% Vill man jämföra två textsträngar  str1  och   str2  i Matlab kan man göra det med kommandot
% strcmp( str1 , str2 )
% som leverat  true  om strängarna är lika och annars  false .
%
%% 18.2 Mittpunktsmetoden
% I mittpunktsmetoden använder man, föga överraskande, mittpunkterna i varje delintervall som taggar:
% t_i=\frac{x_{i-1}+x_{i}}{2}
% Uppgift 18.3   Använd mittpunktsmetoden för att approximera
% \displaystyle\int_1^5\frac{\sin x}{x}\,dx.
% Dela in intervallet i från 1000 till 4000 lika långa delintervall i steg om 500.
% Lösning



% I Matlab kan man numeriskt integrera (approximera)  \int_a^b\!f(x)\, dx med kommandot
% integral( f , a , b ) ,
% där  f  ska vara definierad som en anonym funktion. Mer om detta kommer senare.
%
%% 18.3 Trapetsmetoden
% Denna metod skiljer sig från de tre tidigare ( vänster- och högersumma, mittpunktsmetoden). På varje delintervall ersätter vi funktionen f med den linjära funktion som har samma värde som f i ändpunkterna.
%
% Integralen av den över intervallet [x_i, x_{i+1}] är arean av trapetsen som är
% \frac{\Delta x}{2}(f(x_i)+f(x_{i+1})).
% Summan av dem över hela intervallet [a,\, b] blir
% \begin{array}{rcl}T_n &=& \frac{\Delta x}{2}(f(x_0)+2f(x_1) + 2f(x_2)+\cdots +2f(x_{n-1}) + f(x_n)) =\\
%  &=&\frac12(L_n+R_n).
% \end{array}
% (Alla funktionsvärden förekommer två gånger utom det första och det sista: som en vänster- respektive högersida i en trapets.)
% Trapetmetoden går alltså ut på att ta medelvärde av vänster- och högersummor.
%
% Uppgift 18.4
% Beräkna \displaystyle\int_1^5\frac{\sin x}{x}\,dx med trapetsmetoden.
% Dela in intervallet i från 1000 till 4000 lika långa delintervall i steg om 500.



%