Vi vill lösa följande differentialekvation
u″(x) + (1 − x²),
och
a)Formulera en andra ordningens finit differensmetod för detta randvärdesproblem. Låt u = (u₁, …, uₙ)ᵀ innehålla approximationerna uⱼ ≈ u(xⱼ), där xⱼ = hj och /(). Metoden leder till ett linjärt ekvationssystem av storlek n × n. Härled uttryck för elementen i A-matrisen och i högerledet b. (Ekvationssystemet behöver inte lösas.)(10 p)
b)Metoden i deluppgift (a) implementeras i Matlab. (Du behöver inte göra det själv!) Till ditt förfogande får du Matlab-funktionen som returnerar lösningsvektorn u givet n (antal obekanta) och vektorn f = (f(x₁), …, f(xₙ))ᵀ (högerledsfunktionen evaluerad i gridpunkterna).
Antag att f är det femtegradspolynom som interpolerar de uppmätta värdena(10 p)
| x | 0 | 0.4 | 0.8 | 1.2 | 1.6 | 2 |
| f(x) | 0.1 | 1.3 | 1.4 | 1.0 | 0.3 | -0.4 |
Varje mätvärde har en absolut felgräns på 0.1. Detta ger en osäkerhet i lösningen u. Skriv ett Matlab-program som uppskattar felgränsen för värdet u(1). Programmet får använda funktionen men inte inbyggda funktioner för interpolation. Antalet obekanta n är valfritt, men måste vara betydligt större än 4.
För full poäng krävs ett effektivt program som anropar så få gånger som möjligt.
Du ser bara uppgiftslydelsen
Svarsalternativ, facit, figurer och formler — och resten av kursens uppgifter — finns bakom ett gratis konto.