E36. Numerieke methoden en wetenschappelijk rekenen — oplossingen
EExpert · deel E7 · Informatica
Oplossingen · hoofdstuk 36Numerieke methoden en wetenschappelijk rekenen
Een getal is pas een resultaat als je ook zijn fout en gevoeligheid kent
Uitgewerkte oplossingen bij de 9 opdrachten van het werkboek. Voor de leerkracht, en voor wie zichzelf wil verbeteren nadat hij het eerst zelf probeerde.
Twee gemeten temperaturen helpen de snelle lucht en trage buffer van elkaar onderscheiden.
Voor de leerkrachtDeze pagina bevat de antwoorden. Druk het werkboek af zonder deze pagina.
Oefenen
Oefenen
één stap, direct toepassen
36.1
Arrayvorm lezen
Oefenen6Begrijpen25 min
T heeft shape (49,2), C heeft shape (2,) en tijd heeft shape (49,1).
a
Leg uit wat T/C en tijd+T opleveren, en waarom tijd[:,0]+T kan falen.
T/C heeft shape (49,2), per kolom delen. tijd+T broadcast naar (49,2). tijd[:,0] heeft shape (49,); laatste maten 49 en 2 passen niet, dus ValueError. Voor een kolom gebruik tijd of tijd[:,0, None].
36.2
Bisectiebudget
Oefenen6Rekenen25 min
Een bracket is 8 K breed; de middenfout moet ≤ 0,001 K zijn.
a
Bereken het minimum aantal halveringen.
8/2k+1≤0,001 geeft k+1≥log28000=12,966, dus k≥12. Na 12 halveringen bedraagt de middenfout 8/8192 = 0,0009766 K.
36.3
Newton bij een vlak punt
Oefenen6Analyseren25 min
f(x)=x2−2 en x0=0.
a
Waarom kan de Newtonstap niet worden uitgevoerd? Kies een andere start en bereken één stap.
f′(0)=0: delen door nul. Met x0=1 geeft Newton 1−(−1)/2=1,5. Een bracket [1,2] voorkomt dat een onbetrouwbare stap buiten het bekende gebied terechtkomt.
Toepassen
Toepassen
meerdere stappen, in een context
36.4
Afkoeling met Euler
Toepassen7Rekenen25 min
Station: τ = 10 800 s, beginoverschot 20 K, één stap h = 1800 s.
a
Bereken Euler en exact na één stap; bepaal de absolute fout en stabiliteitsfactor.
Euler: 20(1−1800/10800)=16,6667 K. Exact: 20e−1/6=16,9296 K. Fout 0,2630 K. Factor 5/6 heeft modulus kleiner dan 1, dus stabiel; dit betekent niet foutloos.
36.5
Energie verdwijnt intern niet
Toepassen7Analyseren25 min
De tweeknoopsbalans staat in het handboek.
a
Tel de vergelijkingen op en controleer P=0, UA=0: wat blijft constant? Geef een implementatietest.
De H-termen annuleren; d(CaTa+CbTb)/dt=0. De totale sensible energie ten opzichte van een vaste referentie blijft constant, terwijl beide temperaturen naar een gezamenlijk evenwicht gaan. Test verschillende starttemperaturen met vaste h, controleer energieresidu met tolerantie en halveer h. Een tekenfout in H geeft geen annulering.
36.6
Een fit heeft te veel vrijheden
Toepassen7Begrijpen25 min
Alleen lucht wordt één uur gemeten; UA, H, beide C en sensorvertraging zijn vrij.
a
Leg uit waarom een klein residu onvoldoende is en wijzig proef en fit.
Verschillende parametercombinaties kunnen dezelfde korte respons geven; sensortraagheid en warmtecapaciteit lijken op elkaar. Meet buffer en buiten tegelijk, verleng afkoeling, geef verschillende bekende vermogens en ijk de sensorvertraging apart. Houd fysisch bepaalde capaciteiten eerst vast en fit UA/H. Controleer gevoeligheidsrang en test een andere cyclus. Klein residu toont geen unieke parameters.
Uitdagen
Uitdagen
transfer, open problemen, leerlijnen combineren
36.7
Orde en fout aantonen
Uitdagen9Programmeren45 min
Gebruik y' = −y/10 800, y(0)=20, eindtijd 10 800 s.
a
Implementeer Euler en RK4 voor h=1800,900,450. Vergelijk foutverhoudingen en formuleer beperkingen.
De code uit het handboek berekent de exacte referentie 20/e. Bij halveren daalt Eulerfout ongeveer met factor 2 en RK4-fout ongeveer met factor 16, zodra de asymptotische foutterm domineert. De globale ordes zijn één en vier. Ronding kan bij extreem kleine h overheersen; inputdiscontinuïteiten vragen gesplitste stappen. Een grafiek van log(fout) tegen log(h) heeft helling ongeveer 1 respectievelijk 4.
Zo wordt dit beoordeeld
berekening
Dezelfde eindtijd, exacte referentie en drie stappen.
interpretatie
Foutorde en stabiliteit onderscheiden.
36.8
Warmteproef voor Habitat
Uitdagen9Habitat60 min
Je wilt UA en H identificeren zonder het teeltklimaat te verstoren.
a
Maak een proefplan met input, sensoren, tijd, veiligheid, fit en onafhankelijke validatie. Leg vast welke waarden je niet opnieuw schat.
Gebruik een lege of afgescheiden module, begrens warmte en buitenconditie; registreer P, Ta, Tb, To en sensorleeftijd op UTC+1. Begin nabij evenwicht, wissel twee of meer veilige vermogens en neem een lange afkoelfase; warmtecapaciteiten 80 kJ/K en 1,10 MJ/K staan eerst vast, sensorvertraging is apart geijkt. Fit positieve UA/H met gewogen residuen. Reserveer een andere cyclus voor validatie; toets bias, rms en residustructuur. Stop de proef bij klimaatalarm; noodstop en lokaal regelbeleid blijven actief. Publiceer raw data, versie en grenswaarden. Zonder echte proef blijft de 20,2/30-fit een synthetische softwaretest.
Zo wordt dit beoordeeld
identificatie
Bekende input, beide knopen en onafhankelijke proef.
veiligheid
Temperatuurgrenzen en afbreekprocedure.
bewijs
Residuen, onzekerheid, versies en geldigheidsgebied.
36.9
Een nauwkeuriger verschil
Uitdagen9Onderzoeken25 min
Voor kleine x wordt 1−cosx berekend.
a
Leid een stabiel equivalent af, vergelijk bij x=10⁻⁸ en bespreek conditionering.
Gebruik 1−cosx=2sin2(x/2). Voor x=10−8 is het resultaat ongeveer 5⋅10−17. In float 64 kan cos afronden tot 1 waardoor de eerste vorm 0 wordt; de sinusvorm houdt het kleine resultaat. Het verlies betreft subtractie van bijna gelijke getallen, niet een nieuwe fysische onzekerheid. Vergelijk ook met de reeks x²/2 en rapporteer absolute/relatieve fout.