Njuike sisdollui
Hárjehus

Utforsk omvendte funksjoner med Python

Her skal du få utforske omvendte funksjoner med Python gjennom noen oppgaver.

Til disse oppgavene vil det ikke være løsningsforslag til alle deloppgavene. Det er meningen at de skal være utforskende, og de kan ofte løses på mer enn én måte.

3.3.1

Vi skal undersøke funksjonen f(x)=3x+3.

Vi starter med å jobbe med en funksjon grafisk, det beste er om du tegner for hånd.

Del 1

a) Regn ut y-verdiene, og fyll ut tabellen nedenfor.

x

-2

-1

0

1

2

3

y

Skriv punktene inn i et koordinatsystem, og trekk linja til f.

b) Lag en ny tabell, og overfør verdiene fra oppgave a) over. Denne gangen skal du bytte om verdiene, slik at de verdiene som tidligere sto i x-raden nå blir y-verdier og omvendt. Tegn de nye punktene inn i det samme koordinatsystemet som linja til f. Hva slags funksjon har du nå funnet grafen til?

Løsning

Dette er grafen til den omvendte funksjonen.

Del 2

Vi skal nå gjøre noe av det samme i Python som vi har gjort for hånd. Vi vil tegne både selve funksjonen og den omvendte funksjonen. Vi lager først en algoritme:

1. Vi må definere funksjonen i Python.
2. Vi må lage en array med x-verdier.
3. Vi må lage en array med tilhørende y-verdier.
4. Vi må plotte linja til funksjonen.
5. Vi må plotte linja til den omvendte funksjonen.

a) Lag et program som gjør det som står over.

Forslag til program
python
1import numpy as np #for å bruke linspace
2import matplotlib.pyplot as plt #for å kunne plotte funksjonene
3
4def f(x):
5  return 3*x+3
6
7xx=np.linspace(-2,3,200) 
8#lager liste over x-verdier
9yy=f(xx)
10#regner ut y-verdier til hver x-verdi
11plt.plot(xx,yy) #plotter grafen til f(x)
12plt.plot(yy,xx) #plotter den omvendte grafen

Vi kan pynte en del på utskriften vår, vi kan få på navnene til funksjonen, akser og så videre. Under finner du en versjon av programmet som gir en finere utskrift. Det kan være lurt å merke seg disse kommandoene:

Program med penere utskrift
python
1import numpy as np #for å bruke linspace
2import matplotlib.pyplot as plt #for å kunne plotte funksjonene
3
4def f(x):
5  return 3*x+3
6
7xx=np.linspace(-2,3,200) 
8#lager liste over x-verdier
9yy=f(xx)
10#regner ut y-verdier til hver x-verdi
11plt.plot(xx,yy, label = "f(x)") #plotter grafen til f(x), setter på navn
12plt.plot(yy,xx, label = "$f ^{-1}(x)$") #plotter den omvendte grafen, gir den navn
13plt.axhline(y=0) #tegner inn x-aksen
14plt.axvline(x=0) #tegner inn y-aksen
15plt.grid() #setter på rutenett
16plt.legend() #lager en boks med forklaring/funksjonsnavn

b) Se på grafene du har tegnet. Finn Df, Vf, Df-1 og Vf-1.

c) Beskriv sammenhengen mellom definsjonsmengden til f(x) og verdimengden til f-1(x)

d) Legg til kodelinja plt.plot([-4,30],[-4,30],"--",label = "x=y") i programmet ditt. Hva har du tegnet inn nå?

3.3.2

a) Modifiser programmet fra den forrige oppgaven, og undersøk funksjonen  f(x) =0,5x2-x+3,   x-4,6.

Forslag til program
python
1import numpy as np #for å bruke linspace
2import matplotlib.pyplot as plt #for å kunne plotte funksjonene
3
4def f(x):
5  return 0.5*x**2-x+3
6xx=np.linspace(-4,6,200) 
7#lager liste over x-verdier
8yy=f(xx)
9#regner ut y-verdier til hver x-verdi
10plt.plot(xx,yy, label = "f(x)") #plotter grafen til f(x), setter på navn
11plt.plot(yy,xx, label = "$f ^{-1}(x)$") #plotter den omvendte grafen, gir den navn
12plt.axhline(y=0) #tegner inn x-aksen
13plt.axvline(x=0) #tegner inn y-aksen
14plt.grid() #setter på rutenett
15plt.legend() #lager en boks med forklaring/funksjonsnavn

b) Se på linja du får for f-1(x). Forklar hvorfor dette ikke er en invers funksjon til f(x).

c) Kan du endre på definisjonsmengden til f(x) slik at kurven vi får ut er en funksjon og dermed en invers funksjon til f(x)? Finnes det flere enn én måte å gjøre det på?

Tips

Se på hva som skjer på hver side av bunnpunktet til funksjonen.

3.3.3

Prøv deg fram med funksjonene under. Velg definisjonsmengde slik at du får en invers funksjon (den nødvendige kommandoen i Python står i parentes):

fx=2x+3np.sqrt()g(x)=lnxnp.log()h(x)=e-xnp.exp()i(x)=sinxnp.sin()