Maple til digital eksamen i kemi 1 Maple i kemi Maple er et meget stort matematikprogram og kan langt mere, end der er nødvenigt for at kunne udføre typiske kemiberegninger på gymnasialt niveau. Ofte er der mange måder at løse en enkelt opgave på og denne skrivelse er ikke et forsøg på at vise alt, hvad man kan i Maple, men blot et bud på, hvordan Maple kan anvendes hensigtsmæssigt i kemi. I fysik og kemi vil man typisk bruge Maple som lommeregner, til at afbilde grafer eller evt. tabeller eller lave regression på en dataserie. Maple understøtter også regning med enheder og bruger som standard SI-enhederne og man kan hente diverse konstanter og informationer om alle grundstofferne. Indlæsning af datasæt fra tekstfil Man vil ofte komme ud for at skulle hente data ind fra en ekstern fil og at kunne konvertere dem til et format, man kan arbejde videre på i Maple. Hvis man for eksempel har en tekstfil, der kunne se således ud: En nem og hurtig måde at konvertere en tekstfil til punkter, er at anvende kommandoen readdata, der som input kræver et filnavn incl. placering (Fil-id), angivelse af datatype, heltal, kommatal eller tekststreng, eller som det hedder på Maples modersmål, integer,float eller string, og antal data til hvert punkt; altså readdata(fil-id,datatype,antal). Start med kopiere filen fra opgavesættet til en egnet mappe og HUSK PLACERINGEN! Hvis filen er en excelfil, så enten se næste afsnit eller åbn den og gem den som tabulatorsepareret tekstfil et egnet sted og med et passende navn - igen, husk placeringen! Når tekstfilen er gemt eller lavet og gemt, så hentes den med readdata-kommandoen som vist nedenfor - dog med det aktuelle fil-id og antal. Til slut kan man højreklikke, vælge Assign to a Name og kalde listen et passende navn, her Data1 assign to a name Data1 Hvis man blot ønsker at afbilde grafen, så aktiver programpakken plots og brug kommandoen listplot, som vist her:
Hvis man i stedet ønsker at konvertere data fra tekstfilen til x- og y-lister, som man man lave regression på, så skal man have Maple til at sortere de tilgængelige data. Man tager datafilen fra før og definerer nu en liste af variable, som kun bruger 1.koordinaterne; her kaldes denne liste X mens y-koordinaterne tilsvarende kaldes Y: Og man kan nu lave den ønskede regression fra Gym-pakken:
Import af Excelfiler Der findes en pakke, som hedder ExcelTools, som er handy, hvis man får data serveret i en Excelfil. For at hente data direkte fra en Excel-fil, benyttes kommandoen Import fra ExcelTools og man angiver som argument filnavn + placering (Fil-id) og hvilket ark i filen (hvis der er mere end ét) og hvilke celler, der skal importeres fra. Programpakken indlæses: Hvis dataene står i tilstødende kolonner i Excel-arket, så kan man nøjes med at angive øverste venstre celle og nederste højre celle: Punkterne kan nu plottes med kommandoen pointplot fra programpakken plots og her er der desuden angivet, at der ønskes gridlines og labels på hhv. x- og y-akserne og endelig, hvilke
intervaller på akserne, der skal vises: Skal man bruge x- og y-værdierne separat, kan de hentes således:
Plotning af punkterne ud fra x- og y-værdier i separate lister: For evt. at konvertere en kolonne til listeform, så "opløftes" den blot i "+": Hvis data ikke står i tilstødende kolonner, så kan man i stedet hente kolonnerne med data én ad gangen. De importerede data kaldes her ExcelDataX for x-koordinaterne og ExcelDataY for y-
koordinaterne.: Enheder Hvis man vil regne med enheder, skal man bruge pakken Units og man kan bruge kommandoen Standard fra Units-pakken, som opererer med SI-enheder. Man angiver enhederne i firkantede, dobbelte parenteser, som findes i paletten Units - vælg View 0Palettes 0Show Palette 0Units (SI) og evt. det samme med Units (FPS). Maple kan håndtere sammenlægning af data med forskellige enheder, idet almindelige præfiks som m for milli og c for centi osv. er defineret og man konvertere et Maple-svar i f.eks. SI-enheder til mere almindeligt anvendte kemi-enheder med kommandoen convert, for eksempel kubikmeter til milliliter eller liter: Hvis man vil have et bestemt antal betydende cifre anvendes evalf (%-tegnet referer til sidst udregnede linie) Liste over præfikser Anvendelse af naturkonstanter Maple har indlejret de fleste konstanter, man vil få brug for. Først skal pakken hentes: Kommandoen Constant med symbolet for konstanten som argument henter konstanten: Hvis man ikke kun vil se symbolet for gaskonstanten R, men også talværdi og enhed, så tastes følgende: Hvis man ønsker en mere uddybende forklaring om en konstant, så kan man anvende kommandoen GetConstant(symbol):
For at omregne R udtrykt ved de enheder, vi normalt anvender i kemi, nemlig anvendes igen kommanmdoen convert: så Bedre, talværdien er nu korrekt, men Maple insisterer desværre stadig på definere rumfang og tryk i SI-termer. For en liste over konstanter: naturvidenskabelige konstanter Information om grundstofferne Maple har indbygget en række informationer om alle grundstofferne og man får adgang til disse ved at hente programpakken ScientificConstants og dernæst bruge funktionen GetElement. Hvis man bare skriver GetElement(Grundstofnavn) eller GetElement(Grundstofsymbol) - det er sikrest at bruge grundstofsymbolerne, da Maple jo er et engelsksproget program - så får man en lang række oplysninger såsom atomnummer, navn, symbol osv.: (1.5.1) Hvis man kun er ude efter få oplysninger om et grundstof, så kan man begrænse antallet af oplysninger ved at skrive i parentesen, hvilke man ønsker, for eksempel atommasse og elektronegativitet: De stofkonstanter, du formentlig oftest vil få brug for, er: name, atomicweight, meltingpoint, boilingpoint, electronegativity og density En liste over et grundstofs isotoper fås med kommandoen GetIsotopes: (1.5.2) (1.5.3) Du kan læse mere her om alle kommandoer relateret til grundstoffer (elements)
2 Plot og grafer En graf for en funktion tegnes nemmest vha. plot kommandoen. Her ses grafen for Når man fået lavet en graf, kan man højreklikke på den og få en masse indstillingsmuligheder: Der er desuden mulighed for at skrive nogle kommandoer til at lave om på standardgrafen og det anbefales som hovedregel at angive interval og evt. gitterlinjer i plotkommandoen, da disse indstillinger ellers risikerer at forsvinde ved genberegning. Nedenfor er vist de mest anvendte. Intervaller Man kan justere intervallet på x-aksen. Nedenfor er intervallet sat, så vi på x-aksen har værdier mellem 0 og 100 ved at tilføje kommandoen som nedenfor: Man kan også angive intervallet på y-aksen, hvis man samtidig angiver intervallet på x-aksen
Gitterlinier Man kan få gitterlinjer på graferne, hvilket gør det nemmere at aflæse på grafen: Logaritmiske akser For at få logaritmiske akser skal man hente pakken plots: Logaritmisk y-akse: Logaritmiske x- og y-akser: Navngivning af akser
Flere grafer i samme koordinatsystem Plotning af punkter Hvis man ønsker at plotte en række opgivne punkter, kan det gøres således: Ønsker man fyldte og måske større punkter, så ændres dette ved at angive ønsket symbol (vælg mellem: asterisk, box, circle, cross, diagonalcross, diamond, point, solidbox, solidcircle, soliddiamond) med kommandoen symbol, symbolstørrelsen (defaultværdien er 10) med kommandoen symbolsize og farven ændres med kommandoen color (rækkefølgen af disse kommandoer er underordnet):
Flere datasæt i samme koordinatsystem For at tegne flere datasæt i samme koordinatsystem skal vi først definere et plot af hvert datasæt og derefter bruge kommandoen display fra pakken plots til at vise dem: 3 Regression I Gym-pakken findes der forskellige kommandoer til regression. De oftest anvendte er LinReg til lineær regression, expreg til eksponentiel regression og PowReg til potens regression. Input til alle tre er en liste med x-koordinater og en liste med y-koordinater: Først indlæses Gym-pakken og listerne defineres: Udførelse af en lineær regression Kommandoen kræver de to lister samt den variable som argumenter: Man kan evt. definere funktionen med et mere hesigtsmæssigt navn således: For at få graf og R 2 -værdien vist, tastes kommandoen uden den variable, således:
Udførelse af en eksponentiel regression Kommandoen kræver de to lister samt den variable som argumenter: For at få graf og R 2 -værdien vist, tastes kommandoen uden den variable, således:
Udførelse af en potensregression Kommandoen kræver de to lister samt den variable som argumenter: For at få graf og R 2 -værdien vist, tastes kommandoen uden den variable, således:
4 Løsning af ligninger Der findes forskellige kommandoer til at løse forskellige ligninger i Maple - i dette kapitel gennemgås solve, fsolve og intervalsolve. Løs en ligning med solve: 5 2 Altså, x er lig 5/2 Hvis man ønsker en decimalbrøk, kan man højreklikke på ligningen og vælge Approximate, her vist med 5 betydende cifre: at 5 digits 2.5000 Løs en ligning med fsolve: Generelt anbefales det, altid at forsøge sig med solve, men ved løsning af nogle typer ligninger, kan beregningstiden være meget lang, hvis man anvender solve og her vil det være en fordel at anvende fsolve. Man skal dog være opmærksom på, at der ligger en begrænsning i brugen af fsolve - den finder kun én løsning for ikke-polynomielle ligninger. Her er et eksempel, hvor fsolve er anvendelig; en potensligning, hvor eksponenten er et langt decimaltal, da denne udregning med vil tage meget lang tid. 23.36283943 Løs en ligning med intervalsolve: Hvis man kender det interval, løsningen skal ligge icog har indlæst Gym-pakken, så kan man ofte med fordel anvende. Her er løst en ligning i intervallet [0;50] (fra 0 til 50):
Hvis udregningerne med intervalsolve tager for lang tid, kan man anvende fintervalsolve: 5 ph-beregninger - eksempler For at anvende 10-talslogaritmen skrives blot, i Math-mode, log10("tal"). Eks: Bestem ph i en 0,013M stærk, monohydron syre: Som en hjælp til en lærer eller censor, som skal rette opgaverne, kan det anbefales, at man på en eller anden måde fremhæver facit, her er der anvendt gul markering: Bestem ph i en 0,15M middelstærk syre med pks 6,25: Her anvendes den generelle ph-formel: Ks findes ved at anvende definitionen på pks og så løse ligningen mht. Ks; derefter højreklikkes på facit og vælges Assign to a Name: assign to a name Ks Så indsættes syrekoncentrationen: 6 Typiske fejl - og hvordan du undgår eller udbedrer dem Start altid en ny opgave med restart og with(gym): Skriv aldrig restart midt i en opgave Gem ofte Alle kommandoer og beregninger skal skrives Math-mode Husk altid at bruge punktum i decimaltal Maple kan ofte tvinges til at give facit som et decimaltal ved at skrive et punktum i et af tallene i udregningn, f.eks. 5. istedet for 5 eller benytte kommandoen Approximate, som findes ved at
højreklikke på udregningen og så vælge Approximate + antal decimaler (5, 10, 20, 50 eller 100) Skal du løse trekantsopgaver, så skal funktionerne sinus, cosinus og tangens skrives med stort begyndelsesbogstav for at regne i grader. Vinklen skrives i parentes, eks: Sin(A) Check dine kommandoer for, om du har brugt store/små bogstaver korrekt Der må aldrig laves mellemrum i kommandoer og udregninger Maple vil ikke acceptere bogstaverne D, O og I som variable eller funktionsnavne, så omdøb eller brug local D, O, I. Hvis Maple skriver delimiters i fejlmeddelelsen, så har du lavet en parentesfejl Når du skal bruge Eulers konstant e i en funktion, så vælg den altid fra paletten Expression Hvis solve giver komplekse løsninger (løsninger indeholdende I), så benyt RealDomain[solve] Ved uforståelige fejl, så prøv at genberegne alle kommandoer siden sidste restart ved at markere dem og trykke på! i værktøjslinien Hvis det ikke virker at genberegne alle de markerede kommandoer under ét, så prøv at genberegne alle kommandoerne fra start og én ad gangen. 7 Tastaturgenveje Maple er et kompleks program med rigtigt mange menuer, kommandoer og genvejstaster. Her skal blot nævnes nogle få, som kan være nyttige at kende. Genvej (Windows) Genvej (Mac OS X) Tvunget sideskifte Slet linje Indsæt tom linje før det markerede Indsæt tom linje efter det markerede. Skift mellem Text og Math indtastning. Indsæt reference til Label. Subscript Seneste output (ofte linjen lige før) Næstseneste output (ofte to linjer før) Output på samme linje som input (inline) Hævet skrift Sænket skrift Kommando-færdiggørelse