Oblig 1: Håndtering av kjemiske data#

Læringsmål

I dissse oppgavene skal du lære og vise at du behersker følgende:

  • Lage egne funksjoner til statistisk beregning.

  • Bruke biblioteker til statistisk beregning.

  • Beregne gjennomsnitt, standardavvik og relativ og absolutt feil.

  • Utføre regresjonsanalyse på eksperimentelle data, og tolke regresjonsmodellen.

  • Benytte enkle maskinlæringsalgoritmer til å utforske datasett og danne hypoteser om sammenhenger.

  • Bruke numerisk derivasjon til å analysere eksperimentelle data.

  • Finne ekstremalpunkter vha. numerisk derivasjon, og tolke resultatene.

1.1 Spektroskopi#

Vi bruker et datasett vi har fått fra en analyse av innholdet av \(Pb^{2+}\) i bekkevann som utgangspunkt. Til dette er det brukt spektroskopisk analyse. I spektroskopiske analyser finner vi konsentrasjonen til et stoff ved å undersøke hvor mye lys stoffet absorberer av en bestemt bølgelengde. For å finne konsentrasjonen i en ukjent løsning, lager vi først en standardkurve ut fra absorpsjonen til løsninger med kjent konsentrasjon. Vi analyserer en rekke løsninger og får følgende resultater:

Konsentrasjon (ppm)

Absorbans

0.0

0.0

0.100

0.116

0.200

0.216

0.300

0.310

0.400

0.425

0.500

0.520

a) Lag et program som gjør lineær regresjon på dataene og plotter datapunktene og den tilpassede regresjonskurven i samme koordinatsystem.

b) Analysen ved 283 nm av vannprøva ga absorbans på 0.340. Bruk standardkurven og programmet til å bestemme konsentrasjonen av blyioner i vannprøva i ppm.

1.2 Væskekromatografi#

a) Lag et program som inneholder en funksjon gjennomsnitt og en funksjon standardavvik som regner ut gjennomsnittet og standardavviket gitt en liste med datapunkter som parameter. Test funksjonene på liste = [1,2,2,1,3,3] og sammenlikn med numpy-funksjonene mean og std.

b) Benytt funksjonene du lagde i a) til å regne ut gjennomsnittet og standardavviket av følgende målinger gjort av koffein i te med væskekromatografi:

Injeksjon

Konsentrasjon (\(\mu\)g/L)

1

245

2

272

3

252

4

264

5

261

6

272

7

255

8

260

9

268

10

259

1.3 Titrering#

Titrering er en kvantitativ analysemetode der vi bestemmer konsentrasjonen av et ukjent stoff (analytten) ved å tilsette et stoff med kjent konsentrasjon (titranten). Titranten tilsettes ofte fra en byrette, og vi kan notere oss pH i analytten underveis ettersom vi tilsetter et visst volum titrant. Her er en titreringskurve for titrering av en svak syre med en sterk base.

titreringskurve

Ved ekvivalenspunktet er grafen brattest, og her er stoffmengdene av syre og base ekvivalente (og dermed like hvis forholdet er 1:1 i reaksjonslikningen). Dette kan vi bruke til å finne konsentrasjonen av analytten. Ved halvtitrerpunktet er \(pH = pK_a\), og vi har en bufferløsning. Derfor endrer pH-en seg ikke så mye rundt dette punktet. Vi skal se på noen metoder for å finne ekvivalenspunktet og pH-en ved ekvivalenspunktet i en slik titrering.

a) Les og plott dataene fra fila titreringsdata.txt, som viser titreringsdata for titrering av glykolsyre med NaOH. Sørg for at datapunktene vises i plottet.

b) Deriver pH-en numerisk med hensyn på volumet og legg den deriverte pH-en i ei ny liste. Forklar hva den deriverte av pH-en kan fortelle oss.

I oppgave c og d skal du bruke generativ AI (bruk UiO-gpt) som “copilot” for å løse oppgavene. Bruk PapertBot som intruks (se Canvas). Du må redegjøre for hvordan du har brukt AI til å løse oppgavene, og du skal legge ved et skjermbilde eller en kopi av chatlogen din.

c) Få AI-en til å evaluere programmet som du har laget i denne oppgaven. Husk å forklare hva programmet er ment å gjøre.

d) Bruk AI som assistent og lag en funksjon som finner den største deriverte i den deriverte lista. Sammenlikn gjerne med numpy-funksjonen max. La programmet skrive ut hvilket volum dette tilsvarer. Dette er volumet sterk base som er tilsatt ved ekvivalenspunktet. Finn også pH ved ekvivalenspunktet ved hjelp av programmet ditt.