Her ser vi korleis vi kan finne den deriverte til ein funksjon ved manuell rekning, og vi definerer den deriverte funksjonen.
a) Spørsmål
Kva betyr det at ?
Svar
At betyr at stigingstalet til tangenten til grafen når , er . Det betyr òg at den momentane vekstfarten til funksjonen nårer .
Det er vanskeleg å lage eit program som kan finne den deriverte funksjonen til ein vilkårleg funksjon. Målet vårt er no å lage eit program som kan rekne ut tilnærma verdiar for den deriverte til ein funksjon utan at vi kjenner den deriverte funksjonen. Til det kan vi bruke at den deriverte funksjonen er den verdien
nærmar seg når går mot null.
b) Spørsmål
Kvifor kan vi ikkje setje direkte i uttrykket?
Svar
Dersom vi prøver å setje rett inn i uttrykket, får vi 0 i nemnaren på brøken.
Vi prøver no å rekne ut verdien av brøkuttrykket med ein liten verdi for . Vi set .
Vi kjem nokså nære det rette svaret, som altså er 1. Vi burde få eit betre svar dersom vi gjer enda mindre. Vi set .
c) Utrekning
Bruk den same framgangsmåten som over, og finn ei tilnærming tilved å setje .
Løysing
Vi fekk som forventa ei mykje betre tilnærming til det rette svaret, men vi kan få det til endå betre.
d) Utrekning
Bruk den same framgangsmåten som over, og finn tilnærmingar tilved å setje og deretter .
Fasit
:
:
Slik kan vi fortsetje og få betre og betre tilnærmingar, men vi kjem aldri heilt til den rette verdien, som er 1. La oss først setje opp ein tabell over resultata.
Vi må setje ei grense for når vi tykker vi er nære nok. Til dette kan vi bruke at endringa frå éin tilnærma verdi fortil den neste blir mindre og mindre etter kvart som blir mindre og mindre. Når endringa blir lita nok, kan vi seie oss nøgde med svaret. Dette er ting vi kan teste i det programmet vi skal lage.
e) Algoritme
No kan vi starte med programmet. Lag eit oppsett der du skriv med ord korleis programmet skal verke – ein algoritme for programmet.
Løysingsforslag
Det er fleire måtar å løyse dette på, og her er eitt forslag.
Vi kan la programmet rekne ut nye tilnærma verdiar for deriverte ved å la verdien for bli éin tidel av den førre verdien, slik vi gjorde manuelt over. Så lèt vi programmet gjere dette heilt til endringa i den tilnærma verdien for den deriverte blir mindre enn eller lik 0,00001, som kan vere eit greitt mål på kor nære vi er det rette svaret.
Algoritmen for programmet blir slik:
Brukaren skriv inn ein vilkårleg x-verdi, som blir lagra i variabelen xverdi.
Vi lèt variabelen deltax få startverdi lik 0,1.
Programmet reknar ut ein tilnærma verdi for den deriverte med formelen der vi bruker verdiane til variablane xverdi og deltax.
Vi deler verdien av deltaxpå 10 og reknar ut ein ny verdi for den deriverte med den nye deltax-verdien.
Så lenge differansen mellom den nye og den førre verdien for den deriverte er større enn 0,00001, skal vi rekne ut ein ny tilnærma verdi for den deriverte med ein ny deltax-verdi som er éin tidel av den førre deltax-verdien. Så skal vi samanlikne den nye verdien for den deriverte med den førre. Dette skal vi fortsetje med til differansen er mindre enn eller lik 0,00001.
Til slutt skal den siste verdien for den deriverte skrivast ut til skjermen.
f) Koding
Skriv koden til eit program som passar til algoritmen over. Du kan lage programmet i den editoren du bruker til vanleg, eller du kan bruke den interaktive editoren nedanfor. (NB! Det kan ta litt tid frå du trykker på avspelingsknappen til programmet blir køyrt!)
Tips
Programmet kan bruke ein eigendefinert funksjon f som reknar ut funksjonsverdiar for ein vilkårleg x-verdi og ein eigendefinert funksjon fderivertsom reknar ut tilnærma verdiar for den deriverte for ein vilkårleg x-verdi og med ein vilkårleg verdi for . Alternativt kan vi setje opp reknestykka direkte i staden for å bruke funksjonar i programmet, men programmet blir meir oversiktleg om vi bruker eigendefinerte funksjonar.
Du kan bruke ei while-lykkje til å teste om svaret er godt nok.
I while-lykkja kan du skrive ut verdiane av og dei tilnærma verdiane av den deriverte slik at du kan sjå korleis desse verdiane utviklar seg for kvar gong lykkja køyrer.
Tips dersom programmet går i ei evig lykkje
Legg inn ein test på at dersom lykkja har gått meir enn 20 gonger, skal programmet hoppe ut.
g) Testing
Test programmet på funksjonen . Får du like gode svar som med den opphavelege funksjonen? Kvifor/kvifor ikkje?
Tips
Legg utskrift av tilnærmingsverdien av den deriverte inn i while-lykkja for å følge med på utviklinga.
h) Testing
Test programmet på funksjonen med . Får du rett svar? Eventuelt: Kvifor blir det ikkje rett svar?
Tips
Kor mange desimalar klarer editoren å operere med? Endre på vilkåret for at while-lykkja skal køyre slik at det blir testa på den relative differansen i staden for sjølve differansen.
i) Algoritme og koding
Lag programmet slik at brukaren kan skrive inn ein vilkårleg polynomfunksjon av grad 3 eller mindre.