Her ser vi hvordan vi kan finne den deriverte til en funksjon ved manuell regning, og vi definerer den deriverte funksjonen.
a) Spørsmål
Hva betyr det at ?
Svar
At betyr at stigningstallet til tangenten til grafen når, er . Det betyr også at den momentane vekstfarten til funksjonen nårer .
Det er vanskelig å lage et program som kan finne den deriverte funksjonen til en vilkårlig funksjon. Målet vårt er nå å lage et program som kan regne ut tilnærmede verdier for den deriverte til en funksjon uten at vi kjenner den deriverte funksjonen. Til det kan vi bruke at den deriverte funksjonen er den verdien
nærmer seg når går mot null.
b) Spørsmål
Hvorfor kan vi ikke sette direkte i uttrykket?
Svar
Dersom vi prøver å sette rett inn i uttrykket, får vi 0 i nevneren på brøken.
Vi prøver nå å regne ut verdien av brøkuttrykket med en liten verdi for . Vi setter .
Vi kommer nokså nærme det rette svaret, som altså er 1. Vi burde få et bedre svar dersom vi gjør enda mindre. Vi setter.
c) Utregning
Bruk den samme framgangsmåten som over, og finn en tilnærming tilved å sette .
Løsning
Vi fikk som forventet en mye bedre tilnærming til det riktige svaret, men vi kan få det til enda bedre.
d) Utregning
Bruk den samme framgangsmåten som over, og finn tilnærminger tilved å sette og deretter .
Fasit
:
:
Slik kan vi fortsette og få bedre og bedre tilnærminger, men vi kommer aldri helt til den riktige verdien, som er 1. La oss først sette opp en tabell over resultatene.
Vi må sette ei grense for når vi synes vi er nærme nok. Til dette kan vi bruke at endringen fra én tilnærmet verdi fortil den neste blir mindre og mindre etter hvert som blir mindre og mindre. Når endringen blir liten nok, kan vi si oss fornøyde med svaret. Dette er ting vi kan teste i det programmet vi skal lage.
e) Algoritme
Nå kan vi starte med programmet. Lag et oppsett der du skriver med ord hvordan programmet skal virke – en algoritme for programmet.
Løsningsforslag
Det er flere måter å løse dette på, og her er ett forslag.
Vi kan la programmet regne ut nye tilnærmede verdier for deriverte ved å la verdien for bli én tidel av den forrige verdien, slik vi gjorde manuelt over. Så lar vi programmet gjøre dette helt til endringen i den tilnærmede verdien for den deriverte blir mindre enn eller lik 0,00001, som kan være et greit mål på hvor nærme vi er det riktige svaret.
Algoritmen for programmet blir slik:
Brukeren skriver inn en vilkårlig x-verdi, som blir lagret i variabelen xverdi.
Vi lar variabelen deltax få startverdi lik 0,1.
Programmet regner ut en tilnærmet verdi for den deriverte med formelen der vi bruker verdiene til variablene xverdi og deltax.
Vi deler verdien av deltax på 10 og regner ut en ny verdi for den deriverte med den nye deltax-verdien.
Så lenge differansen mellom den nye og den forrige verdien for den deriverte er større enn 0,00001, skal vi regne ut en ny tilnærmet verdi for den deriverte med en ny deltax-verdi som er én tidel av den forrige deltax-verdien. Så skal vi sammenligne den nye verdien for den deriverte med den forrige. Dette skal vi fortsette med til differansen er mindre enn eller lik 0,00001.
Til slutt skal den siste verdien for den deriverte skrives ut til skjermen.
f) Koding
Skriv koden til et program som passer til algoritmen over. Du kan lage programmet i den editoren du bruker til vanlig, eller du kan bruke den interaktive editoren nedenfor. (NB! Det kan ta litt tid fra du trykker på avspillingsknappen til programmet blir kjørt!)
Tips
Programmet kan bruke en egendefinert funksjon f som regner ut funksjonsverdier for en vilkårlig x-verdi og en egendefinert funksjon fderivert som regner ut tilnærmede verdier for den deriverte for en vilkårlig x-verdi og med en vilkårlig verdi for . Alternativt kan vi sette opp regnestykkene direkte i stedet for å bruke funksjoner i programmet, men programmet blir mer oversiktlig om vi bruker egendefinerte funksjoner.
Du kan bruke en while-løkke til å teste om svaret er godt nok.
I while-løkken kan du skrive ut verdiene av og de tilnærmede verdiene av den deriverte slik at du kan se hvordan disse verdiene utvikler seg for hver gang løkken kjører.
Tips dersom programmet går i en evig løkke
Legg inn en test på at dersom løkken har gått mer enn 20 ganger, skal programmet hoppe ut.
g) Testing
Test programmet på funksjonen . Får du like gode svar som med den opprinnelige funksjonen? Hvorfor/hvorfor ikke?
Tips
Legg utskrift av variabelen derivert inn i while-løkken for å følge med på utviklingen.
h) Testing
Test programmet på funksjonen med . Får du riktig svar? Eventuelt: Hvorfor blir det ikke rett svar?
Tips
Hvor mange desimaler klarer editoren å operere med? Endre på vilkåret for at while-løkken skal kjøre slik at det blir testet på den relative differansen i stedet for selve differansen.
i) Algoritme og koding
Lag programmet slik at brukeren kan skrive inn en vilkårlig polynomfunksjon av grad 3 eller mindre.