a) Bruk programmering og finn ei tilnærming til den deriverte i punktet .
LøysingPython
1deff(x):#definerer funksjonen2return x**2-434defderf(x,deltax):#definerer tilnærminga5return(f(x + deltax)- f(x))/deltax
6x =37deltax =0.0001#set deltax lik 0.000189print(x)10print(round(derf(x,deltax),1))#printar den deriverte med éin desimal
Du skal lage eit program som finn botnpunktet til funksjonen ved hjelp av ei tilnærming til den deriverte.
b) Skriv med ord kva du vil at programmet skal gjere.
Løysing
Programmet må definere funksjonen og den deriverte. Så må vi lage ei lykkje som reknar ut tilnærmingar til den deriverte for stadig større x-verdiar for å finne ut når den deriverte endrar forteikn frå negativt til positivt. Dette er botnpunktet som vi vil skrive ut.
c) Lag programmet.
LøysingPython
1deff(x):#definerer funksjonen2return x**2+234defderf(x,deltax):#definerer tilnærminga5return(f(x + deltax)- f(x))/deltax
6x =-27deltax =0.0001#set deltax lik 0.000189while derf(x,deltax)<0:10 x = x + deltax
1112print(f'Botnpunktet er ({x:.1f}, {f(x):.1f}).')13
I denne oppgåva skal du øve på å tolke program. For kvart av programma skal du beskrive kva programmet gjer, og finne ut kva som blir skrive ut. Løys oppgåve a) og b) utan hjelpemiddel.
a)
Python
1deff(x):2return x**2-2*x -434x =056while(f(x +0.0001)- f(x))/0.0001<0:7 x = x +0.0189print(x)
Løysing
Programmet definerer funksjonen . Deretter definerer det startpunktet for x til 0. Så aukar programmet x-verdien med 0,01 så lenge ei tilnærming til den deriverte er negativ. I det augeblikket tilnærminga blir positiv, skriv programmet ut x-verdien.
Programmet finn her x-verdien til botnpunktet til funksjonen. Vi kan finne dette ved rekning til dømes ved hjelp av symmetrilinja til andregradsfunksjonen:
b)
Python
1deff(x):2return x**3-6*x**2+9*x +134x =056while x <4:7ifabs((f(x +0.0001)- f(x))/0.0001)<0.001:8print(x)9 x = x +0.01
Løysing
Programmet definerer først funksjonen . Startverdien for x blir sett lik 0. Programmet køyrer ei lykkje så lenge x er mindre en 4. Dersom absoluttverdien til ei tilnærming til den deriverte i eit punkt er mindre enn 0,001, skriv programmet ut denne x-verdien. Lykkja sjekkar alle x-verdiar mellom 0 og 4 med ein avstand på 0,01.
Vi veit at der den deriverte er 0, finn vi ekstremalpunkta. Vi deriverer og set den deriverte lik 0 for å finne ut kva som blir skrive ut:
Vi ser at begge nullpunkta til den deriverte er innanfor intervallet , dermed vil programmet skrive ut x-verdiane til begge ekstremalpunkta.
Først blir funksjonen og ein funksjon for ei tilnærming til den deriverte definerte. Til slutt blir printa ut, som er x-verdien 3 og ei tilnærming til den deriverte i denne x-verdien.
Ella har fått i oppgåve å skrive eit program som finn eventuelle ekstremalpunkt til funksjonen .
Ho har laga dette programmet:
Python
1deff(x):2return x**4- x**334defderivert(x,h):5return(f(x + h)- f(x))/h
67x =-189while x <4:10ifabs((f(x +0.0001)- f(x))/0.0001)<0.001:11print(f'{x:.3f}')12 x = x +0.01
Det gav denne utskrifta:
Ella svarer dermed at har fire ekstremalpunkt.
a) Gjer berekningar og finn ut om Ella har rett.
Løysing
Ein fjerdegradsfunksjon kan maksimalt ha tre ekstremalpunkt, så det er klart at dette ikkje stemmer heilt.
Vi finn ut kor mange ekstremalpunkt funksjonen har, ved å sjå på når den deriverte skiftar forteikn:
Vi ser at den deriverte har to nullpunkt, men den deriverte skiftar berre forteikn der . Det er altså berre den siste verdien Ella har funne, som gir eit ekstremalpunkt.
b) Forklar kvifor programmet finn tre x-verdiar i tillegg til den riktige verdien.
Løysing
Dei tre første verdiane er verdiar som ligg veldig nær 0, som er eit ekte nullpunkt for den deriverte. Men sidan vi ikkje kan vere sikre på at eit program faktisk finn eit nøyaktig nullpunkt, har vi sett vilkåret til lykkja til at tilnærminga til den deriverte skal vere mindre enn 0,001. Dermed fann programmet tre ulike slike verdiar som ligg nær null, men det er eigentleg det same punktet vi fann ved rekning, nemleg , som er eit terrassepunkt og ikkje eit ekstremalpunkt.
c) Gjer om på programmet til Ella slik at det berre finn det eine punktet som er eit ekstremalpunkt, og skriv ut heile punktet.
Løysing
Forslag til program:
Python
1deff(x):2return x**4- x**334defderivert(x,h):5return(f(x + h)- f(x))/h
67x =-189while(f(x +0.0001)- f(x))/0.0001<0:10 x = x +0.011112print(f'({x:.2f}, {f(x):.2f})')
Her ser vi ikkje på forskjellen mellom to påfølgande tilnærmingar, men leiter berre etter det punktet der den deriverte går frå å vere negativ til å vere positiv. For å gjere dette må vi vite at det er eit botnpunkt vi leiter etter, og ikkje berre leite etter eit generelt ekstremalpunkt.
Bernard har laga programmet nedanfor for å finne ekstremalpunkta til funksjonen .
Python
1deff(x):2return x**3- x**2+2*x
34defderivert(x,h):5return(f(x + h)- f(x))/h
67x =-189while(f(x +0.0001)- f(x))/0.0001<0:10 x = x +0.011112print(f'({x:.2f}, {f(x):.2f})')
a) Programmet skriv ut (-1.00, -4.00). Forklar (utan å rekne) at dette ikkje er eit ekstremalpunkt, og forklar kvifor programmet skriv ut dette punktet.
Løysing
Vi observerer at tredjegradsleddet er positivt, altså vil eit eventuelt første ekstremalpunkt vere eit toppunkt. Programmet til Bernard leiter etter eit botnpunkt, sidan vi køyrer lykkja så lenge den deriverte er negativ. Punktet som blir skrive ut, er dermed det aller første punktet, sidan lykkja ikkje kjem i gang.
Bernard endrar programmet slik:
Python
1deff(x):2return x**3- x**2+2*x
34defderivert(x,h):5return(f(x + h)- f(x))/h
67x =-189while(f(x +0.0001)- f(x))/0.0001>0:10 x = x +0.011112print(f'({x:.2f}, {f(x):.2f})')
b) Denne gongen skriv ikkje programmet ut noko og må stoppast manuelt. Forklar kvifor dette skjer.
Løysing
Vi deriverer funksjonen og ser på monotonieigenskapane:
Vi observerer at diskriminanten (uttrykket under rotteiknet) blir negativ. Dermed har den deriverte ingen nullpunkt. Vilkåret for at lykkja skal stoppe, er at den deriverte skal bli negativ. Det andre programmet til Bernard vil dermed aldri stoppe fordi den deriverte alltid vil vere større enn 0.