Inegrler Från len: Inegrler Beräkningsveenskp I/KF Trpesformeln oc Simpsons formel Inegrler Inegrler Från len: Från len: Adpiv meod (dpiv Simpson) Formler för feluppskning (division med (Trpes) respekive 15 (Simpson) Lösning v verklig exempel i Ml med qud eller qudl eller inegrl när inegrnden är koninuerlig funkion. qud/qudl/inegrl klrr själv v gör indelning i inervll Lösning v verklig exempel i Ml med rpz när inegrnden är diskre mävärden Exempel (jfr l) Använd qud, qudl eller inegrl f () x dx @func klls för e funkionsndg I mlfunkionen func finns inegrnden definierd måse l om för Ml vilken inegrl som sk löss qud/qudl/inegrl löser sedn inegrlen med numerisk meod Num inegrering klls även kvdrur I = qud(@func,, ) Aresgång: π Lös cos( xdx ) Diskreiser, är 8 inervll Approximer med 1: grdspolynom i vrje inervll Beräkn ren i vrje prllellrpes pproximerr inegrl på delinervlle Klls Trpesformeln 1
Exempel (jfr l) Smm prolem Diskreiser, är 8 inervll Approximer med 2: grdspolynom på vrje duelinervll (är lir de 4 duelinervll) Klls Simpsons formel Lösning v inegrler Proleme f (x)dx. Räcker om f(x) enr känd i ensk mäpunker x k, dvs enr f(x k ) känd. Aresgången lir Diskreiser x, dvs del in i punker x, x 1,, x N där x = oc x N = Ersä inegrnden på vrje delinervll med en enklre funkion, ex polynom Beräkn den enklre funkionens inegrl exk på vrje delinervll. Kn görs med enkel formel Summer ll delinegrler Adpivie (jfr l) Trpes o Simpson I prkiken nvänds dpiv meoder Dess eräknr diskreiseringen på egen nd så en viss noggrnne erålls Indelningen vrierr där funkionen vrierr mycke krävs finre indelningen oc värom Fråg: Hur kn meoden eräkn fele un känn ill exk lösning? Adpiv Simpson Formler på e delinervll/duelinervll: Trpesformeln x k + 1 f() x dx ( x 1 1 1 ) k k k k k x + + k + + + = k f( x ) f( x ) f( x ) f( x ) 2 2 x k os redden öjden Simpsons formel x k + 2 x k f () x dx 1 ( x 2 )( ( ) 4 ( 1) ( 2)) 6 k+ xk f xk + f xk+ + f xk+ = = k ( f( x ) 4 ( 1) ( 2)) k + f xk+ + f xk+ Trpes o Simpson Allmän kn mn nsä x q f (x)dx k f (x k ) x k= klls Newon-Coes formler q Formlern kn sedn nvänds för ärledning v Trpes oc Simpson Trpes o Simpson Om ekvidisn indelning, k =, kn mn få en enkel formel för el inervlle Trpesformeln f (x)dx N 1 f (x 2 k+1 ) + f (x k ) = k= 2 ( f (x ) + 2 f (x 1 ) + + 2 f (x N 1 ) + f (x N )) Simpsons formel N 1 f (x)dx f (x k ) + 4 f (x k+1 ) + f (x k+2 ) = k=,2, ( f (x ) + 4 f (x 1 ) + 2 f (x 2 ) + + 2 f (x N 2 ) + 4 f (x N 1 ) + f (x N )) Os. De är formlern är mer prkisk vid ndräkning. I verklig fll nvänds dpiv meoder, dvs ej ekvidisn indelning. 2
Trpes o Simpson Om mn r ekvidisn indelning kn meodern enkel implemeners med sklärproduk f (x ) 1 1 4 f (x 1 ) 2 2 f =, v r =, v s = f (x N 1 ) 2 2 f (x N ) 1 4 1 oc inegrlen eräkns T T IT = v, 2 r f IS = v s f Noggrnnesordning.8 x2 e dx Värde enlig Mls qud:.657669856284 Noggrnnesordning Diskreiseringsfel Med rpesformeln I-T() (I-T(2))/(I-T()).4 1.15e-2.2 2.819e- 4.28.1 7.5e-4 4.69.5 1.758e-4 4.17 Med Simpsons formel I-S() (I-S(2))/(I-S()).4-4.458e-4.2-2.65e-5 16.926.1-1.621e-6 16.2549.5-1.9e-7 16.68 Noggrnnesordning Noggrnnesordning Överför ill grfik Trpes En minskning v med fkor 2 => minskning v fele med fkor 4 Simpson En minskning v med fkor 2 => minskning v fele med fkor 16 4 = 2 2 16 = 2 4 Klls meodens noggrnnesordning
Diskreiseringsfel Trpes Noggrnnesordning 2 Diskreiseringsfele är v ordning O( 2 ) Simpson Noggrnnesordning 4 Diskreiseringsfele är v ordning O( 4 ) Give mn vill en viss noggrnne kräver en meod v låg n.o. mindre => fler eräkningr än meod med ög n.o. Å ndr sidn kn vrje eräkning vr mer omfnde Diskreiseringsfel Fele kn även ärleds nlyisk med Tyloruveckling Trpes Den lednde (dominernde) ermen i fele på e delinervll är f 4 ( x ) ( ) 12 k + O de leder ill ol fele på el [ ] lir O( 2 ) Simpson På smm sä fele på e duelinervll 5 f 6 ( x ) ( ) 9 k + O leder ill fele på [ ] lir O( 4 ) Feluppsking Feluppskning Kunskpern om noggrnnesordning kn nvänds för uppsk fele - de un ve den exk inegrlen För rpes gäller fele E T i inegrleräkningen T() T () T(2) ET (Jfr lorion) där T(2) är eräkning v smm inegrl med duel seglängd Klls redjedelsregeln Är en uppskning v lednde ermen i fele, dvs O( 2 ) -ermen För Simpson gäller fele E S i inegrleräkningen S() S () S(2) ES Jfr lorion 15 där S(2) är eräkning v smm inegrl med duel seglängd Klls femondelsdelsregeln Uppskning v den lednde ermin i diskreiseringsfele, dvs v O( 4 )-ermen Feluppskning Adpiv meoder Generell gäller Q () Q(2) E p 2 1 där p är meodens noggrnnesordning De klls Ricrdsonexrpolion Tredjedelsregeln oc femondelsregeln är llså specilfll v Ricrdsonexrpolion Ricrdsonexrpolion kn nvänds i dpiv meoder 1. Beräkn inegrlvärde på inervll med seglängd => Q() resp 2 => Q(2) 2. Uppsk fele (Ricrdsonexrpolion). Om fele < olerns - cceper Q() - eräkn näs inervll, om inge yerligre inervll finns, så färdig nnrs (dvs fele > olerns) - Ks Q() - Del inervlle i vå inervll - Beräkn inegrl, från punk 1, för vr oc e v de vå ny inervllen, ges värde /2 4
Adpiv meoder Ex) Scemisk ur diskreiseringen i dpiv Simpson kn se u OK Ej OK Ej OK Ej OK Q(2) Q() OK (inervlle klr) Ec ills el inegrlen färdig Funkionsfele Föruom diskreiseringsfel illkommer vrundningsfel i funkionseräkningrn, s k funkionsfel Hos rpesmeoden pg vrundningsfel eräkns ine f() x un f (x) dvs T() = 2 ( f (x ) + 2 f (x 1 ) + + 2 f (x N 1 ) + f (x N )) Om T() = 2 ( f (x ) + 2 f (x 1 ) + + 2 f (x N 1 ) + f (x N )) f (x) f (x) ε så kn mn få frm T() T() ( ) ε Funkionsfele Noggrnne Funkionsfele, rpes Mosvrnde för Simpson Kn de li sor? De eror på sorleken os. T() T() ( ) ε Om enr vrundningr så är lie oc diskreiseringsfele kommer dominer Om f(x)-värden kommer från mäningr med sor osäkere kn ε vr eydlig sörre oc få effek på ol noggrnneen. ε ε Felkällor: Koninuerlig ersäs v diskre => diskreiseringsfel Fel i eräkning v f( x k ) => funkionsfele Exk inegrl: I, kvdrurformel: f() x dx Q() Exk summ: Q (), eräknd summ: Q() Q() lir då pproximionen v I oc solu fele I Q() = I Q() + Q() Q() diskreiseringsfel funkionsfel klls även runkeringsfel Inegrler i Ml, e exempel Beräkningsveenskp I/KF En fllskärmsoppre r flli sräckn d() vid iden sekunder, där gm ( c/ m) d () = (1 e ) d c Skriv e progrm som eräknr sräckn för olik idpunker. Använd g=9.81, c = 12, m = 7. Urycke i inegrnden är sigeen vid id, dvs gm ( c/ m) v () = (1 e ) c 5
Vi nvänder ex qud i Ml: I = qud(@func,, ) Börj med definier inegrnden i en mlfunkion som vi ex kllr sige1 I = qud(@sige1,, ) gm ( c/ m) d () = (1 e ) d c Vilk in- oc uprmerr i sige1? Inprmeer: Uprmeer: inegrndens värde, klls ex v funcion v = sige1()! % v = sige()! % Funkion för eräkning v sige v % (m/s) som funkion v iden % sekunder) os en fllskärmsoppre!! m = 7; % Fllskärmopprens mss! g = 9.81; % grviionskonsnen! c = 12;! v= (g*m/c)*(1 - exp(-(c/m)*));! Tes v funkionen sige: >> id = 1;! >> v = sige1(id)! v =! 46.9192! >> id = 1:5! id =! 1 2 4 5 >> v = sige1(id)! v =! 9.152 16.612 2.86 28.99 2.94! Skriver nu en kommndofil för eräkning v inegrlen, nmnge ill ex disns1.m d = qud(@sige1,srid,sluid);! disp([ Sräckn är,num2sr(d), m ])! Teskörning >> disns1! Sräckn är 298.5546 m! Oserver! sk även funger för som vekor Uppsnyggning: de vore r om mn kunde ändr ex mssn m på e sälle i kommndofilen så den enkel kn es olik mssor Hur kn mn gör så m ändrs i kommndofilen oc då uomisk även i funkionen? Mn kn gör de genom prmeeröverföring eller gloldeklrion. Prmeeröverföring knske enkls, men ine äs. Förs prmeeröverföring Kommndofilen (filnmn: disns2.m): m = 7;! d = qud(@(x)sige2(x,m), srid, sluid);! disp([ Sräckn är,num2sr(d), m ])! Funkionen (filnmn: sige2.m) funcion v = sige2(, m)! % kommenrer sk ligg är! g = 9.81; % grviionskonsnen! c = 12;! v= (g*m/c)*(1 - exp(-(c/m)*));! 6
Tes igen >> disns2! Sräckn är 298.5546 m! Ändr ill m=9 i kommndofilen >> disns2! Sräckn är 29.97 m! Ändr så d() eräkns för fler värden på m, ex m = 5, 6,,1 mss = (5:1:1) ; %kolonnvekor! d = zeros(size(mss));! for i = 1:leng(mss)! m = mss(i);! d(i)=qud(@(x)sige2(x,m),srid, sluid);! end! [mss d] % Uskrif som ell! Lgrr filen i disns.m Resul Annn vrin: läs in mssn genom inpukommndo >> disns! ns =! 5. 25.8879! 6. 278.441! 7. 298.5546! 8. 15.2847! 9. 29.97! 1. 41.486! mss = inpu( Ange mss: );! d = zeros(size(mss);! for i = 1:leng(mss)! m = mss(i);! d(i)=qud(@(x)sige2(x,m),srid, sluid);! End! disp( Mss Hsige ); disp([mss d]);! Resul >> disns! Ange mss: 5! ns =! 5. 25.8879! >> disns! Ge mss: [6:1:9]! ns =! 6. 278.441! 7. 298.5546! 8. 15.2847! 9. 29.97! Os de nu fungerr ge en vekor med mss. I oc med leng nvänds i koden lir de uomisk rä nl vrv Vrin 2: Gloldeklrion Scripfilfil glol m % gloldeklrer! m = 7;! d = qud(@sige,srid,sluid);! disp([ Sräckn är,num2sr(d), m ])! Funkionen funcion v = sige()! % kommenrer or pg plsris glol m % deklrer glol! g = 9.81; % grviionskonsnen! c = 12;! v= (g*m/c)*(1 - exp(-(c/m)*));! 7
Prmeern m är nu glol, dvs gäller i el Ml-miljön Mn rukr försök undvik glol-deklrion efersom de kn ge sidoeffeker (funkionen ändrr på prmerr i el progrmme, dvs även ex i kommndofilen) De är progrmmeringsmässig snyggre nvänd prmeeröverföring vi nrope För enklre inegrnder kn mn lös proleme un skriv en egen Mlfunkion m = 7;! g = 9.81; c = 12;! d=qud(@() Funkionen (g*m/c)*(1-exp(-(c/m)*)), srid,sluid);! disp([ Sräckn är,num2sr(d), m ])! 8