Programmering gir nye muligheter for å drive utforskende matematikk, spesielt for å teste mange alternativ og gjøre lange beregninger. Noe av det viktigste for å drive utforsking er å stille spørsmål om det du skal utforske. I Walter Browns «The Art of Problem Posing» blir det gitt mange eksempler på aktuelle spørsmål, og hvordan det […]
Kategori: Programmering
Utforsking i python med itertools
Det digitale verktøy og programmering gjør veldig enkelt, er å prøve veldig mange muligheter. For å danne alle mulige permutasjoner eller kombinasjoner kan itertools-pakken i python være veldig effektiv. Generelt er det praktisk for elever i vgs å forholde seg til så få pakker som mulig, men ved å bare bruke noen få iteratorer fra […]
Betinget sannsynlighet for å undersøke følsomme spørsmål
Hvor mange i klassen har jukset på en prøve? Hvordan kan en gjennomføre en slik spørreundersøkelse når kandidatene kan nøle med å svare riktig av frykt for konsekvensene? Ved å ikke være sikker på hvilket spørsmål de har svart på og i stedet bruke Bayes’ regel og betinget sannsynlighet for å estimere den rette andelen. […]
Steganografi, skjult informasjon i et bilde
Om noen ønsker å kommunisere hemmelig, kan kryptering være en god løsning. Men det vil ofte være mulig for andre å oppdage for eksempel antallet ganger en kommuniserer, meldingenes lengde eller tidspunktene tar kontakt. Om derimot ingenting tyder på at to parter kommuniserer, kan det gå uoppdaget. I TV-serien Le Bureau laster spioner opp bilder […]
Sainte Laguës algoritme i python
Metoden(e) som brukes for å fordele mandater etter valg i Norge er et flott eksempel på en algoritme og kan ganske enkelt implementeres på en datamaskin. Det har tidligere vært eksamensoppgaver i matematikk hvor det skulle bli implementert i regneark, men det blir fort ekstra rotete. Beskrivelsen fra regjeringen er ganske kompakt: Metoden kalles St. […]
Å variere lysstyrken til bilder med numpy
En vanlig måte å redigere bilder på er å gjøre de lysere eller mørkere. Det vil bety å flytte verdier sideveis i histogrammet. En naiv strategi vil være å legge en fast verdi til hver piksel. I lesBilde-funksjonen blir matrisens type satt til uint8 (unsigned integer 8 bit), som er hele tall mellom 0 og […]
matplotlib og numpy i bildebehandling
Vi kan se på et svart-hvitt-bilde som en matrise av tall, hvor verdien viser hvor lys gråtonen er. Verdiene kan for eksempel være desimaltall mellom 0 og 1 eller heltall mellom 0 og 255 (tall som kan skrives med 8 bits). Matplotlib har noen enkle funksjoner for å lese inn et bilde fra en fil, […]
Matrisefiltre i bildebehandling
En type filter kan være å for hver piksel beregne en ny pikselverdi basert på verdiene rundt. Om en lar den nye verdien være gjennomsnittet av pikslene rundt, blir bildet mer uskarpt. For at en skal kunne beregne verdier også for pikslene langs kanten, lager vi en ramme rundt som kopierer kantverdiene ut. Som for […]
Kantgjenkjenning i bilder med deriverte
Algoritmer som skal kjenne igjen objekter i bilder, må ofte først finne hva som er grensene for ulike objekter i et bilde. En måte kan være å se etter endringer i farge. Om en ser på en og en rad vannrett eller loddrett, vil en stor endring i farge tilsvare en stor derivert langs den […]
Histogram fra bilder
Et histogram over pikselverdiene vil vise hvor stor kontrast det er i bildet. Et bilde med mange like gråtoner vil ha topper i histogrammet. Bildet av kameramannen har en veldig mørk frakk og stort sett middels gråtoner over hele. Det er nesten ikke lyse gråtoner i bildet. Histogramutjevning¶ Om histogrammet er tilnærmet vannrett, er intensitetene […]