Laboration: Grunderna i MATLAB

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

Laboration: Grunderna i Matlab

Introduktion till Matlab

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

Linjär algebra med tillämpningar, lab 1

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:

Introduktion till Matlab

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

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

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

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

MATLAB övningar, del1 Inledande Matematik

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

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

SF1672, Linjär Algebra med Matlab för F1 Lab0

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

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

En introduktion till MatLab

Introduktion till Matlab

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

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

2 februari 2016 Sida 1 / 23

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

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

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Introduktion till Matlab

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

Introduktion till Matlab

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

TSBB14 Laboration: Intro till Matlab 1D

Introduktion till Matlab

Introduktion till Matlab

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

Instruktion för laboration 1

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

MMA132: Laboration 1 & 2 Introduktion till MATLAB

MMA132: Laboration 1 Introduktion till MATLAB

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Datorövning 2 Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Introduktion till Matlab

Vad är MATLAB? Användningsområden. Var kan man köra MATLAB? MATLAB-miljön: avsluta. MATLAB-miljön: Start. Informationsteknologi. Grunderna i MATLAB

Matlabövning 1 Funktioner och grafer i Matlab

4.3. Programmering i MATLAB

TANA17 Matematiska beräkningar med Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Matematisk Modellering

MMA132: Laboration 2 Matriser i MATLAB

Kort om programmering i Matlab

Beräkningsverktyg HT07

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

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

Mer om funktioner och grafik i Matlab

Instruktion för laboration 1

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

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

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

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

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Vetenskapsdagen 2016 SciLab för laborativa inslag i matematik eller fysik

MATLAB Matrix laboratory

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

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

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

ATT RITA GRAFER MED KOMMANDOT "PLOT"

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

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

Lab 1, Funktioner, funktionsfiler och grafer.

TAIU07 Matematiska beräkningar med Matlab

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Introduktion till Matlab

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Matematisk Modellering

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

Datorövning 1: Introduktion till MATLAB

TSKS08 Introduktionskurs i Matlab Föreläsning 2

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

Laboration: Vektorer och matriser

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

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Matriser och Inbyggda funktioner i Matlab

TANA17 Matematiska beräkningar med Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

Laboration 1 Introduktion till Visual Basic 6.0

4 Numerisk integration och av differentialekvationer

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Newtons metod och arsenik på lekplatser

MATLAB-modulen Programmering i MATLAB. Höstterminen hp. Vad är MATLAB

TAIU07 Matematiska beräkningar med Matlab

Datorövning 1 Calc i OpenOffice 1

Transkript:

Laboration: Grunderna i MATLAB 25 augusti 2005

Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar ett svar. MATLAB kan ses som en mycket avancerad miniräknare med många inbyggda funktioner. Dessutom är det enkelt att presentera resultat grafiskt med hjälp av MATLAB. MATLAB är förutom en interaktiv miljö också ett matris-/vektororienterat programmeringsspråk där du kan utveckla dina egna funktioner och program. Även objektorienterad programmering är möjlig, med t ex arv och överlagrade operatorer. Om du utnyttjar MATLABs inbyggda funktioner kan dina program bli lättlästa, kompakta och eleganta. Uppgifter MATLAB-miljön 1. Innan du börjar, skapa en katalog för kursen, exempelvis med namnet BV1 och i den katalogen en underkatalog Lab. Här kan du placera allt material som du skapar under denna laboration. 2. Starta MATLAB. 3. Se till att MATLAB befinner sig i rätt katalog genom att skriva in ditt katalognamn i Current directory i MATLABs huvudfönster. 4. Mata in talen a = 3.6, b = 4.2 och c=-2. Låt MATLAB utföra nedanstående beräkningar: (a) d = a + b (b) d e 2 (e är exponentialfunktionen) (c) d + f. Varför fungerar det inte? (d) c. Vad får du för resultat här? 5. Öppna delfönstret Workspace (om det inte redan är öppet). (a) Lägg märke till att de variabler som du skapat syns i Workspace. (b) Ge i kommandofönstret kommandot clear a. Vad händer? (c) Ge i kommandofönstret kommandot clear eller clear all. Vad händer? 6. Öppna delfönstret Command History (om det inte redan är öppet). (a) Lägg märke till att de kommandon du gett syns i Command History. (b) Du kan återskapa ett kommando genom att dubbelklicka på kommandot i Command History. Gör det med något av de tidigare kommandona. Grunderna i MATLAB 1

(c) Istället för att dubbelklicka kan man dra kommandot från Command History till kommandofönstret. Pröva även detta. (d) Testa även att återskapa kommandon genom att placera markören i kommandofönstret och använda uppåtpil på tangentbordet. 7. Mata in a = 0.2. (a) Beräkna asin = sin(a) (b) Ändra utskriftsformatet till format long. Skriv ut talet asin igen. Vad händer? (c) Ändra utskriftsformatet till format long e och skriv ut talet. Vad händer? Vad betyder e-001? (d) Ändra utskriftsformatet till format short e. Skriv ut talet asin igen. Vad händer? (e) Undersök vilka olika utskriftsformat som finns genom att göra help format. 8. Testa att mata in matriserna A, B, C och vektorn b, där 1 2 4 ( ) A = 2 3 6 2 3 4 B = 1 6 5 4 6 2 1 3 1 C = 2 2 b = 2 4 6 3 9. Låt MATLAB utföra följande beräkningar: (a) Beräkna A C. (b) Beräkna A B. Förklara resultatet. (c) Beräkna A + B. Förklara resultatet. (d) Beräkna transponatet till B (i MATLAB). (e) Lös ekvationssystemet Ax = b (använd backslash-operatorn, \). 10. Använd matrisen B och utför nedanstående i MATLAB: (a) Skriv ut elementet i 1:a raden, 2:a kolonnen på skärmen. (b) Ändra elementet i nedre högra hörnet till en 9:a (c) Skriv ut 1:a raden på skärmen. (d) Skriv ut 2:a kolonnen på skärmen. (e) Skriv ut elementen B(2, 2) till B(2, 3) på skärmen (i ett kommando, inte element för element). (f) Byt ut hela 3:e kolonnen mot ( ) 6 vkol = 3 genom att först skapa vkol och sedan ersätta hela kolonnen på en gång. Grunderna i MATLAB 2

Att rita grafer 1. Du ska nu rita funktionen y = sin x 2 på intervallet 0 x 2π. Kom ihåg att du alltid kan få hjälp i MATLAB (med help plot t ex). (a) Skapa en vektor x som innehåller 100 jämnt fördelade punkter i nämnda intervall. (b) Skapa en vektor med motsvarande funktionsvärden y = sin x 2. (c) Rita upp funktionskurvan genom att plotta vektorn y som en kontinuerlig kurva (dvs ej som en punktmängd). (d) Snygga till din figur genom att skapa rutnät (vilket heter grid i MATLAB), skriva ut titel, namnge x- och y-axeln (e) Om man i efterhand vill rita ytterligare en figur i samma plot kan man se till att figuren behålls med kommandot hold on. i. Rita i samma figur funktionen z = 0.5x 2. Undersök gärna hold med help. ii. Det är viktigt att du slår av hold, annars kommer alla figurer som du riter hamna i samma plot. Slå därför av hold. (f) Man kan efterarbeta sina figurer med hjälp av figurfönstrets knappar och menyer. i. Skriv en text i figuren med hjälp av en av knapparna i figurfönstret. Skriv t ex vilken funktion du ritat. ii. Under menyn Tools, markera Edit plot. Du kan nu gå in i figuren och ändra olika egenskaper. Om man t ex dubbelklickar på en linje får man upp ett fönster där man kan ändra färg och tjocklek på linjen. Ändra på detta sätt färgerna på graferna så att y blir röd och z grön. Ändra även tjockleken på linjerna. Kommandofiler och m-filer 1. Öppna, t ex med MATLABs inbyggda editor, en ny m-fil och lägg in de kommandon du utförde i föregående uppgift för att rita en sinusfunktion. (Kopiera kommandona ifrån Command Window, så slipper du skriva in dem på nytt.) Spara filen och ge den ett lämpligt namn, t ex RitaSinus.m. Filen sparas i samma katalog som MATLAB befinner sig i. Titta på Current directory i MATLABs huvudfönster. 2. Kör filen genom att skriva namnet utan ändelsen.m i kommandofönstret. Om allt fungerar ska MATLAB nu plotta din funktion. 3. Ändra intervallet till exempelvis π x π genom att ändra motsvarande rad i din m-fil. Spara och kör filen igen. Du slipper nu upprepa alla kommandon vid ändring av intervallgränserna. Grunderna i MATLAB 3

4. Ett ännu bättre alternativ är att programmet frågar efter intervallgränserna. Detta kan åstadkommas med kommandot input. Ändra i koden så att följande sker när du kör filen: I kommandofönstret skrivs Ge vänster intervallgräns: Efter att man gett detta värde skrivs Ge höger intervallgräns: och efter att man gett detta värde körs resten av koden som vanligt. 5. Försök lista ut hur man ska göra för att istället följande ska hända när man kör filen: Ge intervall [a b]: Efter att du gett intervallgränserna på formen [a b] ska programmet köras som vanligt. 6. Lägg in följande först i din m-fil: % RitaSinus % Kommandofil som ritar funktionen sin(x^2) på intervallet % a <= x <= b. Spara filen och undersök vad som händer när du i kommandofönstret skriver help RitaSinus. Ta för vana att alltid lägga in inledande förklarande text i dina m-filer. Det gör det enklare att förstå vad filerna gör. Att använda diary Att använda diary är ett sätt att lagra körresultat från MATLAB som en textfil. Denna kan sedan lämnas in i redovisningar av inlämningsuppgifter eller man kan klippa in den i ett annat dokument, t ex en Wordfil. 1. Ta reda på hur diary fungerar och använd sedan den metoden för att spara resultatet av kommandot help RitaSinus. Att mäta exekveringstid 1. Ta reda på hur kommandot cputime fungerar. Använd sedan cputime för att mäta hur lång tid det tar att köra ditt kommando RitaSinus. If-satsen 1. Skriv ett program som läser in två tal x och y med input-kommandot. Om x+y > 0 skapar programmet ett nytt tal w = x + y (dvs i MAT- LAB w = sqrt(x+y). Om inte görs en utskrift x+y mindre än 0, talet komplext. Lagra programmet i en kommandofil. Grunderna i MATLAB 4

Repetitionssatser, for och while 1. For-satsen används för att upprepa något ett fixt antal gånger. Det används när man vet hur många gånger något ska upprepas. Leonardo från Pisa, 1194-1250, även kallad Fibonacci, var en italiensk matematiker. Han är bl a känd för Fibonaccis talföljd, 1, 1, 2, 3, 5, 8, 13,.... Varje tal i följden är summan av de två föregående. Följande MATLABprogram genererar denna talföljd: n = input( Ge antal Fibbonaccital (>2): ); f = [1;1] % De två första talen i serien for i=3:n f = [f; f(i-1)+f(i-2)]; % vektorn byggs ut successivt end Skriv in detta program och lagra i en kommandofil fibonacci.m. Kör och testa. Använd inte för stora n, utan testa med ganska små n. Hur får man ut en utskrift? Vad händer om du matar in ett n som är mindre än 3, t ex n = 1? 2. I programmet ovan har du kontroll över hur många tal i serien som beräknas. Talen blir snabbt väldigt stora och det kan vara bättre att att kontrollera hur stora tal som beräknas. Detta kan man göra genom att stoppa loopen då talen i summan överskrider en viss storlek som vi kan kalla limit. När man vill stanna loopen då ett visst villkor är uppfyllt används while. Ändra koden på detta sätt. Att skriva egna funktioner Funktioner i MATLAB inleds alltid med ett funktionshuvud: function [utparametrar] = funktionsnamn(inparametrar); Funktonen lagras i en m-fil, där funktionsnamnet måste överensstämma med namnet på m-filen (där ändelsen.m läggs till). 1. Spara undan en kopia av kommandofilen fibonacci.m. Kalla kopian för fibonacciold.m. Den kommer att behövas i en senare övning. Gör sedan om kommandofilen fibonacci.m till en funktion. Parametern limit ska vara inparameter och utparameter ska vara vektorn f. Testa din funktion genom att i kommandofönstret göra anropet [fibtal] = fibonacci(1000); Observera att inläsningen av limit måste tas bort ur kommandofilen när den görs om till funktion, då ju limit istället skall få sitt värde via parameteröverföring vid anropet av funktionen. 2. Är variabler som skapas i en funktion globala eller lokala? Testa detta genom att använda funktionen fibonacci. Gör clear all före anropet till funktionen så att inga variabler finns definierade. Kör funktionen och undersök vilka variabler som skapats. Grunderna i MATLAB 5

3. Använd på samma sätt ditt kommando fibonacciold för att undersöka om variabler som skapas i en kommandofil är lokala eller globala? Grunderna i MATLAB 6