Hopp til innhold
Oppgave

Volum og buelengde

På teorisiden om dette temaet bruker vi integrasjon til å beregne volum av en romfigur, buelengden til en graf og gjennomsnittsverdien til en funksjon. Her kan du prøve å beregne disse størrelsene.

3.3.1

Vi kan beregne buelengden til en graf fra x=a til x=b ved hjelp av integrasjon ut fra sammenhengen s=ab1+f'(x)2dx.

Dette vil selvfølgelig også gjelde for lengden av grafen til en lineær funksjon.

a) Bestem den eksakte buelengden til funksjonen fx=2x i intervallet x0,3 på to forskjellige måter, uten bruk av digitale hjelpemidler.

Tips

Du kan bruke pytagorassetningen som den ene måten og integrasjon som den andre måten.

Løsning

Metode 1: pytagorassetningen

Siden grafen i dette tilfellet er ei rett linje, kan vi bruke pytagorassetningen for å finne lengden av grafen, der den ene kateten går langs det angitte intervallet langs x-aksen og har lengde lik 3, mens den andre kateten går i y-retning og har lengde f3=2·3=6.

Pytagorassetningen gir da følgende buelengde, b:

b2 = 32+62b = 9+36b = 45b = 35

Metode 2: integrasjon

s = ab1+f'(x)2dx= 031+22dx= 035dx= 5x03= 35

b) Vi ønsker å bestemme buelengden til funksjonen fx=x2 eksakt. Når funksjonen er noe annet enn lineær, viser det seg at det er komplisert å løse integralet i formelen for buelengde manuelt.

Bruk derfor CAS for beregne den eksakte buelengden til funksjonen fx=x2 i intervallet x-2,2.

Løsning

Siden den eksakte verdien av buelengden blir et komplisert uttrykk, beregner vi også tilnærmet verdi for buelengden.

3.3.2

Som nevnt er det ofte vanskelig å bestemme buelengde for funksjoner som ikke er lineære, og i mange tilfeller viser det seg at det er umulig å bestemme dette ved bruk av CAS. I slike tilfeller kan vi bestemme en tilnærmet verdi ved bruk av numeriske metoder.

Fra teorisiden har vi følgende sammenheng for lengden av et linjestykke mellom to punkter på en graf:

s2 = x2+y2s = x2+y2

a) Lag en algoritme for et program som beregner buelengden til funksjonen fx=x2 mellom to x-verdier numerisk. x-verdiene og bredden på linjestykkene x skal oppgis av brukeren under kjøring av programmet.

Løsning

Inndata og definisjoner:

  • Vi definerer funksjonen.

  • Vi oppretter variabel for buelengden og setter den lik 0.

  • Programmet skal be om minste x-verdi, største x-verdi og avstanden mellom x-verdiene, dx .

Ei løkke benyttes til beregning. Denne bruker minste x-verdi som startverdi og største x-verdi som sluttverdi, og x-verdien økes med dx for hver gjennomgang.

Løkke start:

  • dy beregnes ut fra gjeldende x-verdi.

  • Bit av buelengden beregnes ut fra formel ved hjelp av dx og dy.

  • Totalverdien av buelengden økes med lengden av beregnet bit.

  • Neste x-verdi beregnes.

Løkke slutt:

  • Beregnet buelengde skrives ut.

b) Lag programmet som algoritmen beskriver.

Løsning
Beregne buelengde numerisk
1import math
2
3# Definerer funksjonen f
4def f(x):
5    return x**2 
6
7# Setter startverdi for buelengden
8buelengde=0
9
10# Informasjon gis.
11print("Dette programmet gjør en numerisk beregning av buelengde")
12print("for en gitt funksjon fra x1 til x.")
13
14# Inndata registreres.
15x1 = float(input("Skriv inn nedre grense, x1:"))
16x2 = float(input("Skriv inn øvre grense, x2:"))
17dx = float(input("Skriv inn verdi for dx:"))
18
19# Startverdi for x settes lik nedre grense for x.
20xVerdi=x1
21
22# Løkke som lengden av hver bit av buelengden og summerer etter hvert
23while xVerdi<x2:
24    #beregner dy ut fra gjeldende xVerdi
25    dy=f(xVerdi+dx)-f(xVerdi)
26    
27    #beregner buelengden for aktuell del av grafen
28    ds=math.sqrt(dy**2+dx**2)
29    
30    #legger til beregnet buedel til total buelengde
31    buelengde=buelengde+ds
32    
33    #beregner neste x-verdi
34    xVerdi=xVerdi+dx
35    
36print(f"Buelengden er {buelengde:.5f}.")

3.3.3

Volum av en romfigur er gitt ved

V=x1x2Ax dx 

der A er arealet av flaten av skiven og dx angir høyden av skiven.

Ei kule er et eksempel på en romfigur, og vi har vist på teorisiden at volumet av en kule er gitt ved

V = -rrπr2-x2 dx

der r er radius i kula.

a) Bruk sammenhengen som er gitt over til å beregne volumet av ei kule med radius lik 2 cm ved hjelp av integrasjon, uten bruk av digitale hjelpemidler.

Løsning

V = -rrπr2-x2dx= π-2222-x2dx= π·4x-13x3-22= π4·2-13·23-4·-2-13·-23= π8-83--8+83= 323π

b) Bruk formelen for volum av kule, V=43πr3, til å kontrollere beregningen i a).

Løsning

V = 43πr3= 43π·23= 323π

3.3.4

På teorisiden så vi at hvis vi deler ei kule med radius r i sylinderformede skiver med tykkelse x, vil volumet av hver skive bli

Vskive = Ax·x= πr2-x2·x

Vi kan bruke denne sammenhengen til å beregne volumet av ei kule numerisk.

a) Lag en algoritme for et program som beregner volumet av ei kule. Radius og antall skiver skal oppgis av brukeren ved kjøring av programmet.

Løsning

Inndata:

  • Verdi for radius oppgis.

  • Antall skiver oppgis.

Beregninger/startverdier:

  • Startverdi for x settes lik -r.

  • Bredden på skivene, dx, settes lik diameter delt på antall skiver.

  • Startverdi for totalt volum settes lik 0.

Ei løkke benyttes til beregning av volumet for kula ved å summere volumet for alle skivene. Denne bruker x-verdien -r som startverdi og r som sluttverdi, og x-verdien økes med dx for hver gjennomgang.

Løkke start:

  • Ny x-verdi beregnes.

  • Volum av skive blir beregnet ut fra standard volumformel.

  • Totalverdi for volum økes med beregnet volum av skive.

Løkke slutt:

  • Beregnet volum skrives ut.

b) Lag et program som beregner volumet av ei kule numerisk.

Løsning
Volum av kule, numerisk
1import math
2
3# Info
4print("Dette programmet gjør en numerisk beregning av volumet av en kule")
5print("med radius r fra x1 til x2.")
6
7# Inndata registreres.
8r = float(input("Skriv inn verdi for radius:"))
9antall = float(input("Skriv inn antall skiver som kula skal deles inn i:"))
10
11# Startverdi for x settes lik nedre grense for x, som er -r.
12xVerdi=-r
13
14# Bredden på skivene beregnes.
15dx=2*r/antall
16
17#Startverdi for totaltVolum
18totaltVolum=0
19
20# Løkke som beregner volum av hver skive, og summerer etter hvert
21while xVerdi<r:
22    #beregner ny xVerdi
23    xVerdi=xVerdi+dx
24    
25    #beregner volum av skive
26    volum=math.pi*(r*r-xVerdi*xVerdi)*dx
27    
28    #legger beregnet volum til totalt volum
29    totaltVolum=totaltVolum+volum
30
31print(f"Volumet av kula er beregnet numerisk til {totaltVolum:.5f}.")