Allmänt om Mathematica

Relevanta dokument
MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

3.3. Symboliska matematikprogram

MAPLE MIKAEL STENLUND

Introduktion till MATLAB

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Texten är en omarbetning av en text skriven av Rikard Bögvad för kursen Matematik I (30 hp).

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Användarmanual till Maple

Instruktion för laboration 1

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

MATLAB övningar, del1 Inledande Matematik

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Laboration: Grunderna i Matlab

2 februari 2016 Sida 1 / 23

Kapitel 4. Programmet MATLAB

Användarhandledning Version 1.2

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Introduktion till Matlab

Lösningsförslag, preliminär version 0.1, 23 januari 2018

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

MA2004 Tillämpad Matematik II, 7.5hp,

1 Handledning till Mathematica M

LABORATION I MAPLE MIKAEL STENLUND

6. a) Visa att följande vektorer är egenvektorer till matrisen A = , och ange motsvarande

MMA132: Laboration 2 Matriser i MATLAB

Laboration 2, M0043M, HT14 Python

Logik och kontrollstrukturer

TSBB14 Laboration: Intro till Matlab 1D

Inledning till matematik med Matlab kompendium för M1 och TD

a = a a a a a a ± ± ± ±500

Introduktion till Matlab

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Laboration: Grunderna i MATLAB

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Obligatorisk uppgift 5

MA2004 Tillämpad Matematik II, 7.5hp,

Variabler och konstanter

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Linjär algebra med tillämpningar, lab 1

Home Nerladdning typsnitt Ladda Ladda fonter Menyn Skrivare Menyn teckensnitt Menyn Verktygsfält Menyn Hjälp Snabbtangenter

Laboration: Vektorer och matriser

Språket Python - Del 1 Grundkurs i programmering med Python

Beräkningsvetenskap föreläsning 2

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

15 september, Föreläsning 5. Tillämpad linjär algebra

Grundläggande kommandon

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

MA2004 Tillämpad Matematik II, 7.5hp,

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Klassdeklaration. Metoddeklaration. Parameteröverföring

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

TANA17 Matematiska beräkningar med Matlab

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

MMA132: Laboration 1 Introduktion till MATLAB

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Obligatorisk uppgift 5: Symbolisk kalkylator

Kort om programmering i Python

Laboration 4: Integration på olika sätt

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Laboration 1: Linjär algebra

Introduktion till MATLAB Föreläsning 1

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

v0.2, Högskolan i Skövde Tentamen i matematik

Matematik 1. Maplelaboration 1.

TDIU01 - Programmering i C++, grundkurs

Instruktion för laboration 1

Förkortning och förlängning av rationella uttryck (s. 29 Origo 3b)

TANA17 Matematiska beräkningar med Matlab

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Data, typ, selektion, iteration

M0038M Differentialkalkyl, Lekt 15, H15

DN1212/numpp Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Introduktion till Matlab

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

SF1625 Envariabelanalys

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Kap Funktioner av flera variabler, definitionsmängd, värdemängd, graf, nivåkurva. Gränsvärden, kontinuitet.

Tentamen i Envariabelanalys 1

Matlabövning 1 Funktioner och grafer i Matlab

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Grundläggande datalogi - Övning 1

3 Deriveringsregler. Vi ska nu bestämma derivatan för dessa fyra funktioner med hjälp av derivatans definition

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Introduktion till Matlab

Transkript:

Allmänt om Mathematica Utvecklades av Wolfram Research (Stephen Wolfram) på 80-talet Programmet finns bl.a. till Windows, Mac OS X, Linux. Finns (åtminstone) installerat i ASA B121 (Stansen), i matematik institutionens datasal, samt på tuxedo.abo.fi Mest använd för symboliska beräkningar

2 Mathematica.nb Köra Mathematica på tuxedo.abo.fi Man kan köra Mathematica på unixservern tuxedo.abo.fi i textläge. Inte speciellt användarvänligt, men kan lätt utföra enkla beräkningar. För att starta programmet loggar man in t.ex. med SSH på tuxedo.abo.fi och skriver kommandot "math". Avsluta med kommandot "Quit".

Mathematica.nb 3 Användargränssnittet Användargränssnittet är uppbyggt kring s.k. notebooks och flytande verktygspaletter. Klarar sig helt utan verktygspaletterna, men de underlättar i många fall. I version 7 finns bland annat "Basic Math Assistant" som innehåller de flesta funktioner man behöver Kommandon skrivs in i ett inputfält i en notebook och evalueras med SHIFT + ENTER Vanliga aritmetiska uttryck kan användas. 2 5^2 4 Sqrt 9 Sin 2 Pi 3 15 3 2 Observera att inbyggda funktioner och konstanter skrivs med stor bokstav. Funktioner: Sqrt[ ], Exp[ ], Cos[ ], ArcSin[ ]. Konstanter: E, I, Infinity, Pi Vanliga parenteser () används för att gruppera uttryck.

4 Mathematica.nb Hjälpfunktioner och manual Mathematica har en utmärkt inbyggd manual som hittas i "Help" menyn. För att få hjälp om ett specifikt kommando används?funktionsnamn? Sqrt Sqrt z or z gives the square root of z. Kan även trycka F1 då markören befinner sig på ett kommando.

Mathematica.nb 5 Uttryck och symboler i Mathematica Numerisk evaluering (N) N Pi 3.14159 N Pi, 50 3.1415926535897932384626433832795028841971693993751 E N 2.71828 Ge variabler ett värde ( = ) och tömma variabler ( =.) a 5 Pi 2 2 5 Π a^2 2 5 Π 2 N a, 10 13.70796327

6 Mathematica.nb a. a a Jämförelser ( ==, >, >=, <, <=,!= ) 2 1 False 2 1 True Skriv ej ut resultatet (;) N Pi ; a 2 Exp 1 ; a 2 Listor (Räckor, Arrays) { } A 1, 5, 6, 3, 10 1, 5, 6, 3, 10 A 3 6

Mathematica.nb 7 A 2 ;; 4 5, 6, 3 Ersätta värden i uttryck (/. eller ReplaceAll) För att ersätta variabler i uttryck med ett värde, en annan variabel eller ett uttryck används /. (snedstreck och punkt). Är en kortform för kommandot ReplaceAll Clear a, b, c ; a b c b c a. b 1 1 c ReplaceAll a, b Cos y, c Sin x Cos y Sin x Detta ändrar inte värdet på det ursprungliga uttrycket: a b c Pilen skrivs med ett streck och ett större än tecken (Mathematica ersätter det automatiskt med en pil) eller så använder man någon av verktygspaletterna. Referera till tidigare erhållna resultat 2 3 5

8 Mathematica.nb 10 15 25 26 15 26 Obs! Spara hellre svaret till en variabel, eftersom referenserna ändras vartefter nya uttryck beräknas.

Mathematica.nb 9 Funktioner Funktioner defineras enligt f x_ : x ^2; g x_, y_ : x y; Sedan kan de användas som vilken inbyggd funktion som helst. Observera _-tecknet efter variabeln. f 2 g 4, 3 11 För att kontrollera en funktions definition skriv?funktionsnamn.? f Global`f f x_ : x 2 Begränsa definitionsmängden Clear h h x_ : Sqrt x ; x 0? h Global`h h x_ : x ; x 0

10 Mathematica.nb h 3 h 1 3 h 1 Styckevis definerade funktioner Alternativ 1 f x_ : 1 ; x 1 f x_ : x ; x 1 f 100 f 100 Plot f x, x, 2, 1 1 100 0.5 2.0 1.5 1.0 0.5 0.5 1.0 0.5

Mathematica.nb 11 Alternativ 2 g x_ : Piecewise 1, x 1, x, x 1 Plot g x, x, 2, 1 0.5 2.0 1.5 1.0 0.5 0.5 1.0 0.5 Anropa funktioner med flera värden (/@ eller Map) För att anropa en funktion med flera givna värden kan man använda Mapfunktionen eller dess kortform /@

12 Mathematica.nb Clear f ; f x_ : 2 x ^2 4 x; Plot f x, x, 1, 4 15 10 5 1 1 2 3 4 f 0, 1, 2, 3 Map f, 0, 1, 2, 3 0, 2, 0, 6 0, 2, 0, 6 Om man har en funktion av flera variabler, kan man använda MapThread istället: g x_, y_ : 2 x y; MapThread g, 1, 2, 3, 0, 1, 1 2, 5, 7

Mathematica.nb 13 Aritmetik I verktygsfältet "Basic Math Assistant" -> "Basic Commands" -> "y==x" finns flera olika funktioner för att omforma uttryck. p 2 x 3 y 4 z ^2 2 x 3 y 4 z 2 p2 Expand p 96 48 x 32 y 16 x y 48 z 24 x z 16 y z 8 x y z 6 z 2 3 x z 2 2 y z 2 x y z 2 Factor p2 2 x 3 y 4 z 2 FullSimplify p2 p2^2 2 x 3 y 4 z 2 97 2 y 4 z 2 x 3 y 4 z 2 6 z 8 z

14 Mathematica.nb Vektorer och matriser Vektorer Mathematica tolkar vektorer som listor. a 1, 2, 1 ; b 2, 2, 3 ; Addition och subtraktion av vektorer fungerar som vanligt. a b 3, 0, 2 Inre produkten fås som den ena produkten "punkt" den andra. a.b 5 Matriser Mathematica tolkar matriser som listor av vektorer, alltså dubbellistor. A 1, 3, 4, 9 ; B 2, 3, 1, 1 ; MatrixForm A MatrixForm B 1 3 4 9 2 3 1 1 Addition och subtraktion av matriser fungerar som vanligt.

Mathematica.nb 15 A B MatrixForm 3 6 5 10 Matrismultiplikation är den ena matrisen "punkt" den andra. A.B MatrixForm 1 6 17 3 Matrisfunktioner Determinanten Det A 21 Transponatet MatrixForm Transpose B 2 1 3 1 Matrisinvers MatrixForm Inverse A 3 7 4 21 1 7 1 21

16 Mathematica.nb Egenvärden och egenvektorer Eigenvalues A Eigenvectors A Eigensystem A 7, 3 1, 2, 3, 2 7, 3, 1, 2, 3, 2

Mathematica.nb 17 Integrering och differentiering Differentiering Differentiering av en funktion kan göras genom att använda ' - tecknet. f x_ : Exp x ^2 ; f' x 2 x2 x f'' x 2 x2 4 x2 x 2 Differentiering av en funktion kan även göras med hjälp av D- funktionen. D f x, x 2 x2 x Högre ordningens derivator fås på följande sätt D x^x, x, 2 x 1 x x x 1 Log x 2

18 Mathematica.nb Exempel: Gör en funktion som ger ut n-te ordningens derivata av den naturliga logaritmfunktionen Clear x, n ; DLog n_ : D Log x, x, n ; DLog 1, 2, 10 1 x, 1 362 880, x2 x 10 Integrering Integrering kan göras genom att använda någon av paletterna "Basic Math Assistant" eller "Classroom Assistant" 0 1 x 3 x 1 4 Sin x x Cos x Integrering kan även göras med hjälp av Integrate- funktionen. Integrate x^3, x, 0, 1 1 4 Integrate Sin x, x Cos x

Mathematica.nb 19 funktionen själv: Integrate Sin x Log x, x Sin x Log x x Numerisk integration utförs med NIntegrate- kommandot: NIntegrate Sin x Log x, x, 2, 10 0.275074

20 Mathematica.nb Summor och produkter Summor Summor görs antingen med hjälp av paletterna eller så använder man Sumkommandot. 1 k 1 k 2 Π 2 6 Sum 1 k^2, k, 1, Infinity Π 2 6 Ifall summan divergerar: Sum 1 k, k, 1, Infinity Sum::div : Sum does not converge. 1 k 1 k Produkter Produkter fås på samma sätt som summor, men kommandot är Product istället för Sum

Mathematica.nb 21 n i^2 i 1 n 2 Product 1 1 i^4, i, 2, Infinity Sinh Π 4 Π Ifall produkten ej konvergerar: Product 1 1 i, i, 1, Infinity Product::div : Product does not converge. i 1 1 1 i

22 Mathematica.nb Gränsvärden Gränsvärden bestäms med Limit- kommandot Limit Sin x x, x 0 1 Limit 1 x n ^n, n Infinity x Limit 1 x, x 0, Direction 1 Limit 1 x, x 0, Direction 1

Mathematica.nb 23 Ekvationslösning Ekvationer med en eller flera obekanta variabler löses med Solvekommandot. Clear a, b, c, x ; Solve a x^2 b x c 0, x x b b2 4 a c 2 a, x b b2 4 a c 2 a Solve 2 x^2 2 x 10 0, x N x 1 2 1 21, x 1 2 1 21 x 1.79129, x 2.79129 Resultatet ges som ersättningsuttryck (alltså med ). Vill man ha dem som punkter kan man göra på följande sätt sol Solve 2 x^2 2 x 10 0, x x. sol x 1 2 1 21, x 1 2 1 21 1 2 1 21, 1 2 1 21 För att lösa ekvationssystem används && mellan de olika ekvationerna. Observera att även ett högerled måste finnas med, t.ex. == 0.

24 Mathematica.nb Solve a x y 7 && b x y 1, x, y x 8 a 7 b, y a b a b Exempel: Hitta skärningsspunkterna mellan en cirkel och en parabel pts Solve x^2 y^2 1 && y 2 x^2 3 2 0, x, y y 1 4 1 5, x 1 2 1 2 5 5, y 1 4 1 5, x 1 2 1 2 5 5, y 1 4 1 5, x 5 8 5 8, y 1 4 1 5, x 5 8 5 8

Mathematica.nb 25 Show ContourPlot x^2 y^2 1, y 2 x^2 3 2 0, x, 1.5, 1.5, y, 1.5, 1.5, Graphics Red, PointSize Medium, Point x, y. pts 1.5 1.0 0.5 0.0 0.5 1.0 1.5

26 Mathematica.nb Rekursiva funktioner Exempel: Skapa en funktion som beräknar fakulteten (!) av ett tal fac n 1, n 1 n f n 1, n 1 fac 1 1; fac n_ : n fac n 1 ; fac 1, 2, 3, 10 1, 2, 6, 3 628 800 Detta är inte ett speciellt effektivt sätt att beräkna fakulteten på. Använd hellre det inbyggda kommandot! eller Factorial 10 Factorial 20 3 628 800 2 432 902 008 176 640 000

Mathematica.nb 27 Villkor (If-satser) Åstadkomms med kommandot If[villkor, värde om sant, värde om falskt] Exempel: maximum av två tal max x_, y_ : If x y, x, y ; MapThread max, 1, 2, 3, 1, 0, 4 1, 2, 4 Kommandot finns inbyggt i Mathematica som Max Exempel: absolutvärdet abs x_ : If x 0, x, x ; abs 1, 0, 1 1, 0, 1 Kommandot finns inbyggt i Mathematica som Abs

28 Mathematica.nb Slingor (upprepningar) Slingor kan åstadkommas med kommandon som t.ex. Table, For, Do, While. For- satser For-funktionen tar fyra "parametrar" For[initialisering, test, inkrementering, händelse] For i 0, i 4, i, Print i 0 1 2 3 For i 1; t x, i^2 10, i, t t^2 i; Print t 1 x 2 2 1 x 2 2 3 2 1 x 2 2 2 Do- satser Do-funktionen kan ta olika många parametrar. Några exempel Do Print "Test", 4 Test Test Test Test Do Print n^2, n, 4

Mathematica.nb 29 1 4 9 16 Do Print n, n, 3, 5, 2 3 1 1 3 5 Kan även användas med flera olika index Do Print i, j, i, 4, j, i 1 2, 1 3, 1 3, 2 4, 1 4, 2 4, 3 Table Table-funktionen fungerar på samma sätt som Do, men ger resultatet direkt som en lista. Table n^2, n, 10 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 Table x, 10 x, x, x, x, x, x, x, x, x, x

30 Mathematica.nb Table - kan även användas för att skapa matriser Table 10 i j, i, 4, j, 3 MatrixForm 11 12 13 21 22 23 31 32 33 41 42 43 Table Prime i, i, 5 2, 3, 5, 7, 11 While- satser While-funktionen tar två parametrar: While[test,händelse] n 1; While n 4, Print n ; n 1 2 3

Mathematica.nb 31 Använda lokala variabler i funktioner Problem kan uppstå om man använder samma variabelnamn till flera olika saker. Alla variabler är som standard globala i Mathematica. Exempel: Fibonaccis talföljd, ej lokala variabler Clear f f x_ x^2; fib n_ : Module, f 1 f 2 1; f i_ : f i f i 1 f i 2 ; f n ; fib 1 ;? f Global`f f 1 1 f 2 1 f i_ : f i f i 1 f i 2 Funktionen f definieras alltså om... Inte bra! Module Genom att definiera de variabler som ska vara lokala ändras deras värde inte på annat håll i programmet. Module-funktionen tar två "parametrar" Module[{lokala variabler}, programkod]

32 Mathematica.nb Clear f f x_ x^2; fib n_ : Module f, i, f 1 f 2 1; f i_ : f i f i 1 f i 2 ; f n ;? f Global`f f x_ x 2 I detta exempel är alltså f och i lokala variabler (egentligen är f en lokal funktion).