Vi kan generere tabellar med tal med funksjonen linspace().
Eksempel på bruk
Funksjonen linspace() lagar ein tabell med tal med innbyrdes lik avstand. Nedanfor kan du køyre eit kort program der vi har brukt linspace() til å lage ein tabell med heile tal frå og med –2 til og med 6. (NB: Det kan ta litt tid frå du trykkjer på avspelingsknappen til programmet blir køyrt.)
linspace() er ein funksjon som ikkje finst i standard Python. Funksjonen er ein del av tilleggsmodulen med namnet numpy, som er eit bibliotek med matematiske funksjonar og kommandoar som vi kan importere og bruke når vi skriv pythonkode. Vi importerer modulen numpy i linje 1 i programmet ved å skrive import numpy.
I linje 2 opprettar vi variabelen x og set han lik resultatet av funksjonen linspace() med dei tre argumenta og . Legg merke til at vi må skrive "numpy." framfor funksjonsnamnet for å fortelje at funksjonen ligg i modulen med namnet numpy. Som utskrifta frå programmet viser, blir variabelen x ein tabell med totalt talverdiar frå og med til og med .
Spørsmål – kode
Kva betyr dei tre tala og i argumentet til funksjonen?
Svar
er første (og minste) verdi, og er siste (og største) verdi i lista. Talet står for kor mange tal vi skal ha i lista.
Oppgåve – algoritme
Skriv algoritmen til programmet.
Løysingsforslag
Algoritmen til programmet kan sjå slik ut:
Lag ein tabell med dei heile tala frå og med til og med , og kall tabellen x.
Skriv ut lista til skjermen.
Importen av funksjonen numpy er strengt tatt ikkje ein del av algoritmen, men heller ei tilrettelegging.
Utforsking – kode
1) Byt ut det tredje talet i argumentet til linspace() (altså talet 9) med 5. Køyr programmet, og prøv å forklare resultatet.
Forklaring
Utskrifta frå programmet blir tala og . Vi har no bedd linspace() om å lage berre tal i intervallet frå og med til og med . Det har vi fått. Legg merke til at kvart tal har same innbyrdes avstand til nabotala, og denne avstanden er fordi breidda av intervallet, som er , skal delast i like delar. I den første varianten av programmet var denne avstanden lik sidan intervallet skulle delast i delar .
2) Kva skal argumenta i funksjonen linspace() vere dersom vi ønskjer ein tabell med verdiane ?
Løysing
Vi skal altså ha avstanden 0,5 mellom kvart tal, så vi må finne ut kor mange tal det blir i tabellen. Mellom kvart av dei 9 heile tala kjem det no eitt tal med desimalen ,5, og vi får totalt 17 tal. Kommandoen vi skriv blir
x = numpy.linspace(-2, 6, 17)
3) Kvifor kan vi ikkje bruke linspace() til å lage ein tabell der vi skal ha -verdiane 0, 2, 3, 5 og 6?
Forklaring
Funksjonen linspace() lagar berre tabellar med tal med innbyrdes lik avstand frå eitt tal til nabotalet. I -verdiane her varierer avstanden. Til dømes er skilnaden mellom 0 og 2 lik 2 mens skilnaden mellom 2 og 3 er 1.
For å lage denne tabellen, må vi rett og slett skrive opp alle tala, og da lagar vi det vi kallar ei liste:
x = [0, 2, 3, 5, 6]
4) Kva skal argumentet til funksjonen linspace() vere dersom du ønskjer å lage ein tabell som inneheld tala 2, 3, 4, ... , 13?
Svar
Tabellen skal gå frå og med 2 til og med 13. Det blir til saman 12 tal. Då må vi skrive
x = numpy.linspace(2, 13, 12)
5) Kva blir det andre talet og det nest siste talet i tabellen som vi lagar med kommandoen under?
x = numpy.linspace(-2, 3, 51)
Løysing
Sidan tabellen har 51 tal, blir intervallet frå til delt i like delar. Då blir skilnaden på to nabotal lik
Det andre talet blir derfor
Det nest siste talet (tal nummer 50) blir
6) Skriv ei kort forklaring på kva funksjonen linspace() gjer.
Løysingsforslag
Funksjonen linspace() lagar ein tabell med ei rekkje med tal med innbyrdes lik avstand frå og med ei nedre grense til og med ei øvre grense. Vi kan bestemme kor mange tal det skal vere i tabellen, og linspace() fordeler tala jamt utover talintervallet.
Pythonkode å lære seg
Vis innhald
Tilleggsmodular
Eksempel:
import numpy
Kommandoen importerer modulen med namnet numpy.
Når vi bruker funksjonar frå andre modular, må vi skrive modulnamnet og eit punktum før sjølve funksjonsnamnet.
Eksempel på bruk av funksjonen linspace() frå modulen numpy:
x = numpy.linspace(0, 4, 5)
Kommandoen opprettar variabelen x som blir sett lik resultatet av funksjonen linspace(0, 4, 5). Resultatet er ein tabell med 5 tal jamt fordelt frå og med 0 til og med 4. Dette betyr at x er ein (numerisk) tabell og inneheld tala 0, 1, 2, 3 og 4.
I Python er det lov å gjere matematiske operasjonar på heile tabellar laga med funksjonen linspace() dersom operasjonen gir meining.