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



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

Matematisk Modellering

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

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

Variabler och konstanter

Introduktion till MATLAB

Laboration: Grunderna i MATLAB

Beräkningsvetenskap föreläsning 2

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

Instruktion för laboration 1

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

Matematisk Modellering

Allmänt om Mathematica

MMA132: Laboration 1 Introduktion till MATLAB

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Introduktion till Matlab

Introduktion till MATLAB, med utgångspunkt från Ada

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

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

En introduktion till MatLab

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

Introduktion till Matlab

MMA132: Laboration 2 Matriser i MATLAB

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

Introduktion till MATLAB Föreläsning 1

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

TAIU07 Matematiska beräkningar med Matlab

Matriser och vektorer i Matlab

Matriser och Inbyggda funktioner i Matlab

TSBB14 Laboration: Intro till Matlab 1D

MATLAB övningar, del1 Inledande Matematik

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Datorövning 1: Introduktion till MATLAB

Laboration: Grunderna i Matlab

Beräkningsverktyg HT07

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

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

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

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

Instruktion för laboration 1

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

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

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

Introduktion till Matlab

MATLAB handbok Introduktion

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

Matlabövning 1 Funktioner och grafer i Matlab

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Linjär algebra med tillämpningar, lab 1

MATLAB Matrix laboratory

Användarhandledning Version 1.2

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Matriser och linjära ekvationssystem

Matematisk Modellering

Tentamen TEN1 HI

Textsträngar från/till skärm eller fil

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Introduktion till Matlab

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

Kort om programmering i Matlab

Programmeringsteknik med C och Matlab

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

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

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

Matriser och Inbyggda funktioner i Matlab

Extramaterial till Matematik Y

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

TANA17 Matematiska beräkningar med Matlab

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

2 februari 2016 Sida 1 / 23

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

Matlabföreläsningen. Lite mer och lite mindre!

TAIU07 Matematiska beräkningar med Matlab

Datorövning 1 Fördelningar

Introduktion till Matlab

Laboration: Vektorer och matriser

Introduktion till Matlab

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Introduktion till Matlab

729G04 Programmering och diskret matematik. Python 3: Loopar

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Logik och kontrollstrukturer

Matriser och linjära ekvationssystem

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

Matematisk Modellering

En kort introduktion till MATLAB med exempel och övningsuppgifter

Laborationstillfälle 1 Lite mer om Matlab och matematik

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

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

TAIU07 Matematiska beräkningar med Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

Grundläggande datalogi - Övning 1

Övningsuppgifter kapitel 8

Transkript:

Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory» Utvecklades som substitut för Fortran+LINPACK i slutet av 70 talet. I mitten av 80 talet startades The MathWorks. MATLAB används nu av alla+hunden. MATLAB har en enda positiv egenskap det är lätt att testa en idé snabbt. Lösningar i MATLAB är ofta mycket långsammare än motsvarande specialdesignade lösningar. Bättre idag? Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... MATLAB Har enkla datastrukturer lämpade för att hålla data i matris eller list form. Användaren kan inte definiera egna. Kräver att MATLAB är installerad på datorn för att köra skriven kod. Kan inte kompileras till maskinkod, pga licenser. Har de vanligaste matematiska funktioner, de mer avancerade och de som används aldrig. Har plot funktion. Kostar. Men Ni kan ladda ner gratis från skolans hemsida. Och piratebay. Yarr. Python Har komplexa datastrukturer. Användaren kan definiera egna typer. Kräver att python tolk är installerad på datorn. Kan i vissa fall kompileras till maskinkod. Har elementära mattematiska funktioner. Gratis. Öppna terminalen. Inkludera senaste matlab (en gång) >module add matlab/r2007b >module initadd matlab/r2007b Starta MATLAB >matlab &

Man kan använda MATLAB som en dyr miniräknare. De vanligaste operatorerna finns: + - * /.*./ \ < > == Observera att operatorerna är typspecifika. Massor av inbyggda funktioner, t.ex. what, who, clear, clc, clf why, tic, toc, quit, disp Massor av inbyggda matte funktioner, som sin, cos, atan, exp, pow, mod Inbyggda konstanter: i, pi, true, false Med kommandot format man kan ändra hur utskriften ser ut. Den viktigaste funktionen av alla >>help Prova skriva >>help matlab\general >>help syntax >>help matlab\matfun doc gör samma som help, men öppnar ett nytt fönster. Variabler deklareras med hjälp av = operatorn. Precis som i Python. Synliga i Workspace.

För att få ett kommando att inte skriva ut något på skärmen, använd ; Vill inte se mellansteg. Visa resultatet med disp. Vissa funktioner behöver inte avslutas med ;, men gör det ändå. Jämför Command Window med Pythons Interactive Shell. Vill skriva större kod i.m filer, på samma sätt som Python program i.py filer. Använd Editor. Bra kod är välkommenterad kod. Två sätt att göra kommentarer på i den inbyggda editorn. % <text> %% <text> Nytt! Finns två typer vanliga och anonyma. Deklarera en vanlig funktion genom att skapa en.m fil, med följande överst: function [out1, out2, ] = <namn>(in1, in2, ) Deklarera en anonym funktion som ett kommando: <namn> = @(in1, in2) ; minfunktion = @(x) sin(x); Funktioner som inte tar parametrar anropas även utan tomma parenteser. Annars som i Python.

Vektorer är listor av element*, och en användbar matematisk struktur. I MATLAB finns bara listor av enkla typer heltal, flyttal, komplexa tal. Deklarera en lista med hakparanteser, som i Python. Separera element med komma eller mellanslag. >> lista = [1, 2, 3, 4]; >> listb = [4 5 6 7]; range() skapar följdlistor i Python. I MATLAB är syntaxen: >> a = 1:3; skapar listan [1,2,3] >> b = 1:0.3:5; skapar listan [1, 1+0.3, 1+2*0.3,, 4.9] Matematiska listor är orienterade. För att ändra på orienteringen använder man >> b = b ; I Python är alla index noll baserade, d.v.s. det första elementet har index 0, och man skriver >>>a=[1,2,3] >>>print a[0] 1 I MATLAB är alla index 1 baserade, som i matematiken. Första elementet har index 1. >>a = 1:3; >>disp( a(1) ); 1 >> Få ut längden på listan med funktionen length >> length(a) 3 De inbyggda funktionerna i MATLAB trådar sig oftast automatiskt. Det betyder att funktionen appliceras på varje element i en lista. f([1,2,3]) = [f(1), f(2), f(3)] för många f. >> format compact >> lista = 0:pi/4:2*pi lista =0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124 5.4978 6.2832 >> sin( lista ) 0 0.7071 1.0000 0.7071 0.0000-0.7071-1.0000-0.7071-0.0000 >> Om man har två listor och vill multiplicera dem med varandra, vad menar man då? Man kan mena matrismultiplikation (vektorskalärprodukt) >> [1,2,3]*[3,4,5] 26 Man kan också mena att elementen multipliceras parvis. Då har man.* operatorn. >> [1,2,3].*[3,4,5] 3 8 15 Enligt matrisräkneregler + och utförs parvis som man förväntar sig, men * / ^ och andra operatorer har en annan betydelse.

För att skriva en numerisk algoritm behöver vi ofta flödeskontroll, dvs if, while, och forsatser. I Python hade vi indentering. I MATLAB har vi end satsen. If satsen har följande syntax i MATLAB. if <test> elseif <test> elseif <test>... else end Test ska vara något som är sant eller falskt. Kropp är noll eller fler kommandon. While satsen fungerar precis som i Python, exekverar sin kropp tills något har ändrats. Den har följande syntax i MATLAB: while <test> end For satsen behöver en vektor (lista) för att fungera. Syntaxen är: for <var> = <list> end Variabeln <var> antar värden i listan <list> innuti kroppen en efter en. For satsen är ineffektiv, MATLAB försöker skriva om for loopen på den rätta formen. Ibland lyckas MATLAB. Ibland inte. Den rätta formen är att använda inbyggda funktionen sum: >> sum( 1:1000 )

En matris är en mattematisk tabell. Givet ett ekvationssystem, kan vi skriva om den på matrisform. Vi kan skriva samma matris i MATLAB som >> A = [1 3-2;3 5 6; 2 4 3]; Och resultatvektorn, som (notera orienteringen) >> b = [5 7 8] ; För att lösa ut x, y och z skriver vi >>A\b Det finns två sätt att komma åt matriselement i MATLAB. Definiera följande matris. >> A = [1 3-2; 3 5 6; 2 4 3]; En parameter. A(n) returnerar det n:te elementet i A, som om A var en lista (vektor) av kolonner (OBS!). >> A(3) 2 Två parametrar. A(r,c)returnerar elementet på raden r och kolumnen c. >> A(2,3) 6 Istället för att använda skalärer som parametrar, kan man lägga in hela listor. Givet samma matris A. >> A = [1 3-2; 3 5 6; 2 4 3]; Om vi vill få ut vart annat element ur A kan vi skriva >> A( 1:2:9 ) 1 2 5-2 3 På samma sätt kan man få ut submatriser och sublistor. Experimentera! (Labbuppgift, anywho)

MATLAB har en jätteanvändbar funktion för att göra grafer. För mer information om hur man använder den, skriv >> help plot Any questions? Mail gleb@kth.se