Maple Hints

Dette er et dokument med stikord og korte hints til Maple. Dokumentet er struktureret alfabetisk, så det er nemt at slå op i. Sidste sektion viser tastaturgenveje.

Algebra med Maple

Maple er ikke kun en lommeregner – den kan også udføre symbolsk algebra, dvs. regne med udtryk og variable uden at kende deres værdier. Det gør det muligt at forenkle, udvide, faktorisere og differentiere symbolsk, før man evt. beregner et tal med evalf.

Overblik over vigtige funktioner

Disse kommandoer styrer, hvordan Maple bearbejder algebraiske udtryk.

Funktion Syntaks Formål
evalf evalf(udtryk) Konverterer eksakte værdier (π, √2, brøker) til decimaltal.
simplify simplify(udtryk) Forsøger at forenkle et udtryk, f.eks. reducere brøker eller trigonometriske udtryk.
expand expand(udtryk) Ganger parenteser ud i et udtryk. Modsatte funktion: factor.
factor factor(udtryk) Faktorerer et udtryk – forsøger at skrive det som et produkt af enklere faktorer.
subs subs(var=værdi, udtryk) Indsætter en værdi for en variabel i et udtryk.

Eksempler på algebraisk manipulation

1. Konvertering og forenkling

2. Udvidelse og faktorisering

Disse to kommandoer er hinandens modsætninger. expand ganger parenteser ud, mens factor samler udtrykket igen i faktoreret form.

expand( (x - 2)*(x + 3) );
# Resultat: x^2 + x - 6

factor( x^2 + x - 6 );
# Resultat: (x - 2)*(x + 3)

Et mere komplekst eksempel kan være:

expand( (a+b)^3 );
# Resultat: a^3 + 3*a^2*b + 3*a*b^2 + b^3

factor( a^3 + 3*a^2*b + 3*a*b^2 + b^3 );
# Resultat: (a + b)^3

3. Differentiation og integration

4. Indsætning af værdi (subs)

Kan bruges til at evaluere et symbolsk udtryk i et bestemt punkt.

fprime := 3*x^2 + 2:
subs( x=5, fprime );
# Resultat: 77

Stikord: evalf, simplify, expand, factor, subs, diff, int, symbolsk, algebra, decimaltal, forenkle

Decimalseparator

Decimalseparator

Differentialregning

Differentiering af funktioner med én variabel

Brug kommandoen diff for at differentiere en funktion $f(x)$ med hensyn til $x$.

Partiel differentiation (flere variabler)

For funktioner med flere variabler differentierer du kun med hensyn til den ønskede variabel, mens de andre holdes konstante.

Gem den afledede funktion

For at omdanne det differentierede udtryk til en ny, navngivet funktion (f.eks. $f'(x)$), bruges tricket unapply (se evt. sektionen om Genbrug af resultater).

Enheder i Maple og Løsning af Enhedsproblemer

Enheder i Maple fungerer ikke helt så smertefrit som i Mathcad, men man kan opnå fornuftige resultater.

Grundlæggende:

Eksempler og Løsningsmuligheder

Når enhederne driller (Isolate-metoden)

Hvis Maple ikke kan løse en ligning pga. uoverensstemmelser med enheder, kan følgende metode bruges:

  1. Isoler variablen først med kommandoen: isolate(udtryk, variabel).
  2. Definer de kendte variables størrelse.
  3. Beregn udtrykket der kom ud af isolate med reference til ligning/label.
Funktioner (Maple)

Definere funktioner

I Maple skelnes der mellem udtryk og funktioner. Funktioner laves med pile-notation ->.

En funktion af én variabel:

f := x -> 3*x + 5;
f(2);       # funktionskald der giver funktionsværdien 11

En funktion af flere variable:

g := (x, y) -> 3*x*y + 5*x + 2*y;
g(2,3);     # funktionskald der giver funktionsværdien 31
Vigtigt: f := 3*x - 2; er et udtryk (ikke en funktion). Brug f := x -> 3*x - 2; for en funktion.

Sammensatte funktioner (f(g(x)))

Funktioner defineres hver for sig og kan derefter frit sammensættes:

f := x -> x^2;
g := x -> x + 1;
f(g(2));    # Sammensat funktionskald der returnerer 9
h := x -> f(g(x));
h(2);       # Sammensat funktionskald der returnerer 9

Stykvis definerede funktioner

Brug piecewise inden i en funktion:

p := x -> piecewise(x < 0, x^2, x >= 0, cos(x));
p(-2);      # 4
p(0);       # 1

Opsummering:

Udtryk: F := 3*x - 2; er et udtryk ikke en funktion → brug f.eks. subs(x=4, F) for at evaluere.

Funktion: f := x -> 3*x - 2; → kan kaldes som f(4).

Afledt / ligninger: diff(f(x),x), solve(f(x)=0,x).

Bemærk (evalueringsfælde): Hvis du sætter x := 5; og senere har F := 3*x-2;, ændres udtrykket. Funktioner med -> er robuste mod det.
Genbrug af resultater (Udtryk, ligningsdele og funktioner)

For at genbruge et beregnet resultat i en senere beregning, er der flere metoder:

1. Brug Ligningslabels (Den simple måde)

Hvis et resultat har fået en label (f.eks. (6) i højre side), kan du referere til det direkte:

2. Omdan et udtryk til en ny funktion (unapply)

Hvis du har beregnet et udtryk (f.eks. den differentierede funktion) og vil bruge det som en ny navngivet funktion, bruges unapply:

udtryk := diff(sin(x) + 3*x, x)
g := unapply(udtryk, x)
g(2) # (Kan nu kalde den nye funktion)

Stikord: unapply, gem som funktion, genbrug resultat

Gentagelser (Loop/Løkke) – For-struktur og Seq()

I Maple bruges løkker, når man vil gentage en beregning eller udføre en serie af handlinger flere gange. Der findes to hovedmåder at gøre dette på:


1. for-do – når du vil gentage handlinger

En for-do-løkke bruges, når du ønsker at udføre et sæt kommandoer for hver værdi i et interval.

for variabel from startværdi by trin to slutværdi do
    (kommandoer)
end do:

Eksempel: Beregn og udskriv \(k^2\) for \(k = 0, 1, 2\).

for k from 0 to 2 do
    print(k^2)
end do:

Resultatet vises linje for linje i outputvinduet. Denne form bruges altså, når selve processen (udskrift, tegning osv.) er vigtigere end at gemme dataene.


2. Gem resultater fra en løkke

Nogle gange vil man gemme resultaterne fra en gentagelse i en liste i stedet for blot at udskrive dem. Det kan man gøre på to måder:

A. Oprettelse med seq() (den anbefalede metode)

seq() laver hurtigt en liste over udtryk:

L := [seq(cos(k*Pi/4), k = 0..4)];

Output:

[1, 1/sqrt(2), 0, -1/sqrt(2), -1]

Her genereres hele listen i ét hug, uden at vi selv skal opdatere den inde i løkken.

B. Samme med en klassisk for-do-løkke

Hvis man vil bygge listen trin for trin:

L := []:
for k from 0 to 4 do
    L := [op(L), cos(k*Pi/4)];
end do:
L;

Samme resultat, men lidt tungere at skrive. Derfor foretrækkes seq() næsten altid, når målet er at danne data.

⚠️ Bemærk: seq() tillader kun ét udtryk før kommaet. Undgå at bruge tildelinger (:=) eller semikolon (;) inde i udtrykket — brug i stedet funktioner eller betingede udtryk direkte.


3. Kombination: Byg en tabel ud fra beregninger

Her kombineres alt ovenstående i et praktisk eksempel: Vi genererer en trigonometrisk tabel med vinkler, radianer, og værdier for sin, cos og tan. Tabellen transponeres, så vinklerne bliver kolonner, og vi håndterer det udefinerede punkt for \(\tan(90^\circ)\).

Stikord: for-loop, løkke, iteration, gentagelse, seq, end do, tabel, matrix, Transpose, if, toRad, undefined

Hjælp

Find hjælp til bestemt funktion

Labels - Ligningslabels (eng: equation labels)

Stikord: ligning, ligningsnummer, formelnummer, reference, label, ligningslabel

Layout, Tabel (Figur og tekst ombrydning)

Det er ikke direkte muligt at sidestille tekst og figur.

Løsning: Anvend tabel hvis du ønsker tekst ved siden af figur.

Indsæt et skærmbillede af opgaveteksten

Ønskes det kan du hurtigt overføre opgavespørgsmål til dit dokument:

Metode 1 (Kopier/Sæt ind):

  1. Kopier teksten med en screen-grabber.
  2. Stil dig der hvor du ønsker at indsætte billedet.
  3. Tryk Ctrl+v.

Metode 2 (Menu):

Placering af billede og tekst omkring billede kan eventuelt styres ved indsættelse i tabel.

Ligninger – Løs ligning og Ligningssystem

1. Løsning af en ligning

I Maple kan du løse ligninger på to måder – enten eksakt med solve eller numerisk med fsolve. solve forsøger at finde en symbolsk løsning, mens fsolve finder en tilnærmet (kommatal) løsning.

Eksempel – En simpel andengradsligning

solve(x^2 - 4 = 0, x);

Output:

{x = -2, x = 2}

Samme numerisk:

fsolve(x^2 - 4 = 0, x);
2.000000000, -2.000000000

2. Startgæt og interval i fsolve

Når en ligning har flere rødder (fx trigonometriske funktioner), kan fsolve kun finde én rod ad gangen. Hvilken der findes, afhænger af enten et startgæt eller et interval:

Eksempel – Løsninger af sin(x) = 0.5

Med startgæt:

fsolve(sin(x) = 0.5, x = 0.4);
fsolve(sin(x) = 0.5, x = 3.0);
fsolve(sin(x) = 0.5, x = 7);
0.5235987756
2.617993878
6.806784083

Med interval:

fsolve(sin(x) = 0.5, x, 0..1);      # omkring 0.52
fsolve(sin(x) = 0.5, x, 2..3.2);    # omkring 2.62
fsolve(sin(x) = 0.5, x, 6..7.5);    # omkring 6.81
0.5235987756
2.617993878
6.806784083

Bemærk: Maple bruger som standard radianer i trigonometriske funktioner. Brug fx sin(x*Pi/180)=0.5 hvis du arbejder i grader.


3. Undgå komplekse tal i løsninger

Hvis solve returnerer komplekse løsninger (indeholder I), kan du begrænse dig til reelle tal ved enten at:


4. Oversigt

Kommando Beskrivelse
solve(...) Finder eksakte løsninger (symbolsk).
fsolve(...) Finder numeriske løsninger (kommatal).
fsolve(..., x = a) Bruger et startgæt tæt på den ønskede løsning.
fsolve(..., x, a..b) Søger efter løsning inden for et interval.

5. Løsning af ligningssystemer

Flere ligninger kan løses samtidigt ved at samle dem i en liste – Maple finder så de fælles løsninger.

# To ligninger med to ubekendte
solve([2*x + 1 = 6*y, x - 3 + 4*y = 0]);
fsolve([2*x + 1 = 6*y, x - 3 + 4*y = 0]);

Resultatet er et sæt af løsninger for både x og y.

Stikord: solve, fsolve, numerisk, eksakt, startgæt, interval, radianer, grader, RealDomain, ligningssystem.

Linjeskifte - Indsæt linje mellem to eksisterende kommandoer

Anbefalet metode (VIGTIGT for almindelig brug!):

Stil dig oven i kommando:

Mode - Math mode eller Text mode

Maple som skrivemaskine (tekstbehandling)

Output format og præcision (Visning af resultat og decimaltal)

Styring af resultatvisning (Vis/Skjul/Inline)

Hvordan et resultat vises, afhænger af den genvej, du bruger til at eksekvere udtrykket:

Numerisk præcision (Decimaltal / Kommatal)

Maple regner som udgangspunkt eksakt (med brøker). For at tvinge den til at give decimaltal (flydende-komma-tal), kan du gøre følgende:

Stikord: skjul output, decimaltal, kommatal, evalf, brøk

Plot af graf for funktion (2D)
Plot af diskrete punkter (2D)
Plot af graf for funktion (3D)
Plot - Konturplot (projiceret til xy-plan)
Plot - Samling af flere plot i et (display)
Plot - Parametrisk kurve (2D)
Plot - Implicit kurve (2D) - "Plot ligning"
Punkt og vektor
Reelle tal eller imaginære tal

OBS: Du kan få resultater hvor der står I til sidst. Med mindre du arbejder med komplekse tal, er det ikke et legalt resultat. For at undgå det, skriv with(RealDomain): i toppen af opgaven.

Regression og Statistisk Analyse

For at udføre regression og statistiske analyser i Maple skal du først indlæse Statistics-pakken og derefter indtaste dine data. Det er bedst at bruge en list-struktur til data (firkantede parenteser [...]).

1. Indlæs pakken og Indtast data

Data defineres som lister af hhv. X- og Y-værdier. Regression kræver pakken Statistics.

2. Lineær Regression (LinReg)

Brug kommandoen LinearFit til at finde regressionslinjen for $Y$ som funktion af $X$.

3. Eksponentiel og Potens Regression

Du kan bruge NonlinearFit til mere komplekse modeller eller ExponentialFit/PowerFit fra Gym-pakken.

4. Plot af regressionslinjen

For at plotte datapunkterne sammen med regressionslinjen skal du bruge kommandoen plot med både data og funktionen.

Stikord: lineær regression, regressionslinje, LinearFit, Fit, statistik, plot af data, statistisk analyse

Sektioner (Opdeling af opgaver)

Det er en stor fordel at opdele en aflevering i en sektion per opgave (f.eks. Opgave 1, Opgave 2, Opgave 3).

Fremgangsmåde:

  1. Gøres med -> Insert -> Section.
  2. Skriv opgavens overskrift, f.eks. "Opgave 1".
  3. Husk at indsætte restart: før hver ny opgave, hvor du ikke skal bruge variable fra en tidligere opgave.
    restart:

VIGTIGT! Inden du afleverer PDF, kontroller at alle opgaver er FOLDET UD<&, ellers fremgår de ikke af PDF!!!

Stikord: clear, slet alt, genstart, nulstil, Restart

Sidetal mm - Indsæt header / footer, sidetal

Fremgangsmåde:

Skrivemaskine

Maple kan bruges som en skrivemaskine til at lave afleveringsdokumenter i matematik eller fysik, hvor du blander tekst, matematik og overskrifter.

På den måde kan du skrive hele rapporter direkte i Maple, med blandet tekst og matematik, uden at bruge et separat tekstbehandlingsprogram.

Specielle tegn - Euler, Pi, Kvadratrod, I

Bemærk, brug pil op/ned for at vælge korrekte symbol, og tryk derefter på tabulator tasten., for at indsætte symbolet i dit dokument.

Skriv f.eks. evalf(e) for at se den numeriske værdi af Eulers tal.

Tekst - Indsæt

Indsæt tekst

Trigonometriske funktioner (Sin, Cos, Grader/Radianer)

Trigonometriske funktioner (cosinus, sinus, tan)

Omvendte trigonometriske funktioner (arcsin, arccos, arctan)

Stikord: Inverse, omvendt, arcus

Variable - indeks/underscore

Opret variabel med værdi (Declare):

a:=3:
a_{2}:=5   # Eksempel på variabel med indeks

Fjern aka slet en variabel (Unassign/clear):

Unassign('a')
# eller: 
a:='a'

Problem (eksempel): En tilsyneladende simpel ligning kan ikke løses: solve(2x+3=5). Det kan skyldes at x indeholder en talværdi og derfor ikke vil overskrives (en Maple beslutning).

Løsning:

unassign('x')
solve(2x+3=5)
Vektorer og Matricer (Lineær Algebra)

Vektorer og matricer defineres og manipuleres bedst ved at bruge vinkelparenteser til vektorer og Matrix kommandoen til matricer.

1. Punkter og Vektorer

Maple skelner mellem punkter (lister) og vektorer (vinkelparenteser). Vektorer i 2D og 3D defineres på samme måde.

2. Vektoroperationer

For at udføre avancerede operationer, især Krydsprodukt, er det ofte nødvendigt at indlæse LinearAlgebra-pakken, men nogle få kan klares uden.

with(LinearAlgebra):
u := <1, 0, 0>:
v := <0, 1, 0>:
DotProduct(u, v)
CrossProduct(u, v)
Norm(u)

3. Matricer

Matricer defineres med Matrix kommandoen eller via Matrix-paletten i Maple.

Worksheet vs Document Mode

Tastatur-genveje

Vis internationale tastaturgenveje
HandlingGenvej (International)
Command / Symbol CompletionEsc (Mac, Windows, Linux) · Ctrl + Space (Windows) · Ctrl + Shift + Space (Linux)
Enter / Exit 2-D MathF5
Evaluate ExpressionEnter (Return på Mac)
Evaluate and Display Inline (Document Mode)Alt + Enter (Alt + Return på Mac)
SuperscriptShift + ^
Index SubscriptCtrl + Alt + B (Command + Alt + B på Mac)
Literal Subscript__(to underscores)
Convert to Atomic VariableCtrl + Shift + A (Command + Shift + A på Mac)
Fraction/ (eller //)
UnderscriptCtrl + Alt + U (Command + Alt + U på Mac)
OverscriptCtrl + Alt + O (Command + Alt + O på Mac)
Square RootSkriv sqrt og brug Command/Symbol Completion
n-th RootSkriv nthroot og brug Command/Symbol Completion
Ny række i matrix / stykkevis funktionCtrl + Shift + R (Command + Shift + R på Mac)
Ny kolonne i tabelCtrl + Shift + C (Command + Shift + C på Mac)
Venstre superscriptCtrl + Alt + P (Command + Alt + P på Mac)
Venstre subscriptCtrl + Q
Græsk tilstand (næste tegn græsk)Ctrl + Shift + G (Command + Shift + G på Mac)
Escape næste tegn\ (for fx ^, _, /)
Scope OutCtrl + Alt + K (Command + Alt + K på Mac)
Scope InCtrl + Alt + J (Command + Alt + J på Mac)
Return Cursor to BaselineCtrl + Alt + L (Command + Alt + L på Mac)

Disse er de internationale tastaturgenveje, beregnet til brugere med tastaturlayouts, der ikke understøtter standardtasterne direkte. På Mac kan Opt anvendes i stedet for Alt.