Hopp til innhald
Øving

Utforsk omvende funksjonar med Python

Her skal du få utforske omvende funksjonar med Python gjennom nokre oppgåver.

Til desse oppgåvene vil det ikkje vere løysingsforslag til alle deloppgåvene. Det er meininga at dei skal vere utforskande, og dei kan ofte løysast på meir enn éin måte.

3.3.1

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

Vi startar med å jobbe med ein funksjon grafisk, det beste er om du teiknar for hand.

Del 1

a) Rekn ut y-verdiane, og fyll ut tabellen nedanfor.

x

-2

-1

0

1

2

3

y

Skriv punkta inn i eit koordinatsystem, og trekk linja til f.

b) Lag ein ny tabell, og overfør verdiane frå oppgåve a) over. Denne gongen skal du byte om verdiane, slik at dei verdiane som tidlegare stod i x-rada no blir y-verdiar og omvendt. Teikn dei nye punkta inn i det same koordinatsystemet som linja til f. Kva slags funksjon har du no funne grafen til?

Løysing

Dette er grafen til den omvende funksjonen.

Del 2

Vi skal no gjere noko av det same i Python som vi har gjort for hand. Vi vil teikne både sjølve funksjonen og den omvende funksjonen. Vi lagar først ein algoritme:

1. Vi må definere funksjonen i Python.
2. Vi må lage ein array med x-verdiar.
3. Vi må lage ein array med tilhøyrande y-verdiar.
4. Vi må plotte linja til funksjonen.
5. Vi må plotte linja til den omvende funksjonen.

a) Lag eit program som gjer det som står over.

Forslag til program
python
1import numpy as np #for å bruke linspace
2import matplotlib.pyplot as plt #for å kunne plotte funksjonane
3
4def f(x):
5  return 3*x+3
6
7xx=np.linspace(-2,3,200) 
8#lagar liste over x-verdiar
9yy=f(xx)
10#reknar ut y-verdiar til kvar x-verdi
11plt.plot(xx,yy) #plottar grafen til f(x)
12plt.plot(yy,xx) #plottar den omvende grafen

Vi kan pynte ein del på utskrifta vår, vi kan få på namna til funksjonen, aksar og så vidare. Under finn du ein versjon av programmet som gir ei finare utskrift. Det kan vere lurt å merkje seg desse kommandoane:

Program med finare utskrift
python
1import numpy as np #for å bruke linspace
2import matplotlib.pyplot as plt #for å kunne plotte funksjonane
3
4def f(x):
5  return 3*x+3
6
7xx=np.linspace(-2,3,200) 
8#lagar liste over x-verdiar
9yy=f(xx)
10#reknar ut y-verdiar til kvar x-verdi
11plt.plot(xx,yy, label = "f(x)") #plottar grafen til f(x), set på namn
12plt.plot(yy,xx, label = "$f ^{-1}(x)/$") #plottar den omvende grafen, gir han namn
13plt.axhline(y=0) #teiknar inn x-aksen
14plt.axvline(x=0) #teiknar inn y-aksen
15plt.grid() #set på rutenett
16plt.legend() #lagar ein boks med forklaring/funksjonsnamn

b) Sjå på grafane du har teikna. Finn Df, Vf, Df-1 og Vf-1.

c) Beskriv samanhengen mellom definsjonsmengda til f(x) og verdimengda til f-1(x)

d) Legg til kodelinja plt.plot([-4,30],[-4,30],"--",label = "x=y") i programmet ditt. Kva har du teikna inn no?

3.3.2

a) Modifiser programmet frå den førre oppgåva, 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 funksjonane
3
4def f(x):
5  return 0.5*x**2-x+3
6xx=np.linspace(-4,6,200) 
7#lagar liste over x-verdiar
8yy=f(xx)
9#reknar ut y-verdiar til kvar x-verdi
10plt.plot(xx,yy, label = "f(x)") #plottar grafen til f(x), set på namn
11plt.plot(yy,xx, label = "$f ^{-1}(x)/$") #plottar den omvende grafen, gir han namn
12plt.axhline(y=0) #teiknar inn x-aksen
13plt.axvline(x=0) #teiknar inn y-aksen
14plt.grid() #set på rutenett
15plt.legend() #lagar ein boks med forklaring/funksjonsnamn

b) Sjå på linja du får for f-1(x). Forklar kvifor dette ikkje er ein invers funksjon til f(x).

c) Kan du endre på definisjonsmengda til f(x) slik at kurva vi får ut er ein funksjon og dermed ein invers funksjon til f(x)? Finst det fleire enn éin måte å gjere det på?

Tips

Sjå på kva som skjer på kvar side av botnpunktet til funksjonen.

3.3.3

Prøv deg fram med funksjonane under. Vel definisjonsmengde slik at du får ein 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()