Kvadratur
Matlabs quadl är en
bra rutin som även kan hantera enklare
ändpunkts-singulariteter. Om singulariteten blir för uttalad
ger quadl ett
felmeddelande och svaret blir mindre bra. Så här kan det se
ut (jag har tagit bort varningen för nolldivision). Toleransen
är 1e-6 absolut.
>> fel = quadl('1 ./ x.^0.7',
0, 1) - 1 / 0.3
fel = -6.1687e-06
>> fel = quadl('1 ./ x.^0.8',
0, 1) - 1 / 0.2
Warning: Minimum step size reached; singularity possible.
fel = -7.9354e-04
>> fel = quadl('1 ./ x.^0.9',
0, 1) - 1 / 0.1
Warning: Minimum step size reached; singularity possible.
fel = -1.2600e-01
>> fel = quadl('1 ./
x.^0.99', 0, 1) - 1 / 0.01
Warning: Minimum step size
reached; singularity possible.
fel = -6.4572e+01
För att klara av svåra fall kan man
använda variabelsubstitution eller partiell integration för
att bli av med singulariteten och få en snäll integrand som quadl kan hantera. I
följande uppgift får du träna på denna teknik.
Integrationsintervallet är [0, 1] i samtliga tre fall.
|
a) Använd partiell
integration följd av quadl
för att approximera den bestämda integralen av cos(x) /
x^0.9. b) Använd variabelsubstitution följd av quadl för att approximera den bestämda integralen av cos(x) / x^0.9. c) Använd variabelsubstitution följd av quadl för att approximera den bestämda integralen av log(x) / (x^0.85 + x^0.9 + x^0.95). Ledning: testa ansatsen t = x^p där p är ett reellt tal. |
|
Kör (och studera) följande Matlabprogram. Titta på
värdena och plotten. Förklara vad som händer. Ledning: Hur lurar men en kvadraturmetod (vilken som helst)? Vikter och abscissor är givna (och fixa). Skriv ett program för Simpson formel och beräkna en approximation av integralens värde. |
|
Vi råkar ha en tjusig,
4.25 m lång, kantlist
till bordet. Använd parameterframställningen ovan och
bestäm q så att epicykloidens omkrets blir 4.25 m.
Rita också upp formen på det resulterande bordet (glöm
inte axis equal, annars
får bordet fel form). Ledning: Låt om(q) vara bordets omkrets (epicykloidens kurvlängd) som funktion av q. Då består problemet i att lösa ekvationen om(q) = 4.25. Använd fsolve för att lösa ekvationen där du använder quadl för att beräkna kurvlängden. |