Presentation laddar. Vänta.

Presentation laddar. Vänta.

Grunderna i MATLAB 1 Vad är MATLAB? Användningsområden MATLAB-miljön

Liknande presentationer


En presentation över ämnet: "Grunderna i MATLAB 1 Vad är MATLAB? Användningsområden MATLAB-miljön"— Presentationens avskrift:

1 Grunderna i MATLAB 1 Vad är MATLAB? Användningsområden MATLAB-miljön
Variabler i MATLAB Funktioner i MATLAB Några tips I den här första föreläsningen i grunderna i Matlab kommer vi att gå igenom Kort om vad matlab är för något, vad namnet kommer ifrån etc områden där det är vanligt att matlab används Titta lite på Matlabs utvecklingsmiljö. Om man ska arbeta effektivt i Matlab är det viktigt att man kan hantera miljön och verkligen använder de verktyg som finn tillgängliga i Matlab Vad variabler är för något i Matlab Inbyggda funktioner Jag avslutar med några små tips som underlättar användandet

2 Vad är MATLAB? Utvecklat av MathWorks, Inc. http://www.mathworks.com
Första versionen klar i slutet av 70-talet Ursprungligen MATrix LABoratory. Matematisk labbmiljö för Numeriska beräkningar Grafik Programmering En enkel miljö för att snabbt testa idéer och för att studera resultat Matlab är utvecklat vid ett amerikanskt företag, MathWorks. Ta gärna en titt på deras hemsida – där finns en hel del smått och gott t ex nyheter och olika tillämpningar där matlab används. Första versionen var klar i slutet av 70-talet. På TDB började vi använda Matlab i undervisningen i mitten av 80-talet, vilket är tidigt både nationellt och internationellt. Namnet Matlab kommer från Matrix laboratory, vilket också säger lite vad det från början huvudsakligen handlade om – nämligen matriser. Matlab hanterade från början enbart matriser och fortfarande idag är det den huvudsakliga datatypen i matlab. Matlab är en matematiska labbmiljö för numeriska beräkningar, grafik och för programmering. Vad ordet numerisk är kommer jag in på senare, men det handlar i korthet om att få fram resultat i form av siffror (i motsats till resultat i form av formler t ex). Matlab fungerar som en enkel miljö att snabbt testa idéer och för att ”titta på” resultat. Nästa steg kan vara att skriva program i något annat språk, t ex Java eller C++. Sådana språk ger snabbare och effektivare kod än Matlab, men är betydligt mer komplicerat att skriva. Matlab används alltså ofta för att testa och studera problem.

3 Vad är MATLAB? Många kraftfulla fördefinierade funktioner med möjlighet att definiera egna. Eget objektorienterat programmeringsspråk. Samverkan med C++, Java och FORTRAN möjlig. En av de stora fördelarna med att använda matlab är de inbyggda funktionerna för alla möjliga typer av beräkningar, t ex för lösning av integraler, differentialekvationer eller olika typer av matematiska funktioner. De flesta matematiska funktioner som man kan tänkas ha användning av finns inbyggda. Matlab är i sig ett programmeringsspråk. För den som vet vad objektorientering är så är matlab objektorienterat. Man kan även samverka med andra programmeringsspråk, C++, java och Fortan. Man kanske utför beräkningar I C++ och vill grafiskt visa resultaten. Man kan då från C++ använda Matlabs grafik. Eller tvärtom kan man från Matlab utföra något i t ex C++.

4 Vad är MATLAB? Över 25 tilläggsprogram (toolboxar) finns för speciella tillämpningsområden, t ex: signalbehandling bildbehandling statistik symbolisk matematik finansiell matematik Körs under UNIX/Linux, Windows eller Macintosh. Det finns ett stort antal s k toolboxar, en typ av tilläggsprogram, för olika specialområden, t ex inom signalbehandling, bildbehandling, statistik, symbolisk matematik, optimering etc etc. Vilka toolboxar som finns hittar man på MathWorks hemsida. Matlab fungerar under alla plattformar, som windows, Unix och linux och för mac.

5 Användningsområden Överallt där det förekommer beräkningsproblem
Undervisning: matematik (särskilt linjär algebra), beräkningsvetenskap, fysik, kemi, teknik, ekonomi etc Forskning: labbmiljö för att testa lösningmetoder, studera, analysera problem, utföra beräkningar och visualisera resultat Industrin: används på samma sätt som inom forskning exemplevis på utvecklingsavdelningar. T ex inom bioteknik, elektronik, bilindustri etc Var används då Matlab? Det enkla svaret är “överallt där det förekommer beräkningsproblem. Det gäller t ex - i undervisning, fr a beräkninsgsvetenskap där man studerar hur man utför beräkningar på datorer, men också matematik, fysik, kemi, biologi etc Inom forskning. Matlab fungera väldigt mycket som en testmiljö för att utföra beräkningar, visualisera resultat och analysera metoder och algoritmer inom olika områden, t ex fysik, kemi etc Vanligt inom inom industrin, används ungefär på samma sätt som inom forskning fr a på utvecklingsavdelningar. Vanligt inom bioteknik, elektronik, bilindustri, finanmarknad etc

6 Att börja använda MATLAB
MATLAB kan användas interaktivt som en avancerad miniräknare. Enkelt! MATLAB kan också användas som ett programmeringsspråk på ett mer avancerat sätt. Lite svårare, kräver mer kunskap. Grovt sätt kan man använda Matlab på två sätt Interaktivt som en avancerad miniräknare, dvs man skriver in någon beräkning direkt I matlabs fönster. Det här är relativt enkelt. Som ett programmeringsspråk där man skriver egna program som utför beräkningar och visualierar saker. Detta kräver mer kunskap t ex I hur man programmerar och hur man principiellt löser problem med programmering. I den här kursen kommer båda delarna att ingå.

7 MATLAB-miljön Utvecklingsmiljön (MATLAB desktop) har ett flertal verktyg, t ex kommandofönstret, Workspace och Command History Här är kommando-fönstret (Command window) Nu ska vi börja med att titta lite på matlabs utvecklingsmiljö. När man startar MATLAB får man upp ett fönster som vanligen ser ut ungefär som på bilden, även om det kan se lite olika ut beroende på egna inställningar. Det vi ser här är bl a några olika delfönster: Kommandofönstret som är det man kanske är det du mest kommer att använda Workspace som vi snart kommer att se fyllas på med olika variabler som du definerar uner ett pass Command history där alla kommandon du utför sparas. De sparas inte enbart för ett pass utan även bakåt I tiden, dvs de kommandon du utfört tidigare kommer att synas där.

8 MATLAB-miljön Exakt vad som syns i MATLAB-fönstret kan man styra själv
Markera i menyn Desktop vad som ska synas i MATLAB-fönstret Här syns bl a att Command Window, Command History, Workspace ska synas (vilket ju stämmer) Man kan själv styra vilka delfönster som ska vara öppna och alltså hur ens matlabmiljö ska se ut. Under Menyn desktop kan man bocka för det man vill ska visas och avbocka sånt man vill ska tas bort. På bilden ser du t ex att Command windov, dvs kommandofönstret, command history och Workspace är förbockade vilket ju stämmer med hur bilden ser ut. Under Desktop Layout kan du t ex göra om delfönstren till flikar om du tycker det är bekvämare. Man kan även “lyfta ut” delfönstren utanför Matlabfönstret denom att klicka på den lilla krokiga pilen uppe till höger I respektive delfönster.

9 MATLAB-miljön MATLAB styrs vanligen från kommandofönstret (Command Window) Kommandon ges efter »-promptern och utförs när return-tangenten tryckts ned. Exempel: >> ans = 61 I den enklaste användningen av Matlab styrs Matlab via kommanofönstret. Precis som hos en miniräknare kan man skriva in kommandon efter det som kallas för promtern, de två större än tecknen. Man trycker sen på return-tangenten och svaret trillar ut. Här visas ett exempel i den grå rutan där vi skriver in 42+19, trycker på return och ut kommer svaret 61. Sådana här grå rutor visar Matlabkörningar.

10 MATLAB-miljön ans (=answer)
I kommandofönstret kan man arbeta interaktivt som en avancerad miniräknare. >> a = 75 a = >> b = 34; >> c = a*b c = >> a+b ans = Semikolon undertrycker utskrift. Om inget variabelnamn anges läggs variabeln i ans (=answer) Här är ytterligare ett exempel på Matlabkörning. Först ger vi variabeln a värdet 75 och trycker return. Matlab skriver då ut a och visar att värdet är 75. Sen ger vi variabeln b värdet 34, avslutar med semikolon och trycker på return. I det fallet kom ingen utskrift. Varför? Det beror på det avslutande semikolon. Semikolon som avslut av satser undertrycker nämligen utskrift. B har alltså fått värdet 34, men vi får ingen utskrift. I nästa rad ges variabeln c värdet av a*b och matlab skriver ut svaret c=2550. Observera att a och b måste vara definierade för att det här ska fungera. Slutligen skrivs a+b in vilket vi inte lagrar i någon namngiven variabel. Matlab lagrar det då i variabeln ans som står för answer. Varför vill man förresten undertrycka utskrift och alltså använda semikolon? Här ser det kanske meningslöst ut, men som vi kommer att se senare pysslar man ofta med beräkningar där kanske 100-tals, 1000-tals eller tusentals värden beräknas. Då är det inte längre lämpligt att skriva ut allt på skärmen. Semikolon kommer därför att användas nästan standardmässigt som avslut av satser.

11 MATLAB-miljön MATLAB avslutas genom att man antingen
ger kommandot quit eller exit Man väljer Exit MATLAB i menyn File >> exit Matlab avslutas ungefär som de flesta andra program avslutas, man använder exit i file-menyn. Allt som man kan göra i menyer kan man även göra som kommandon och för att avsluta kan man även skriva exit eller quit i kommandofönstret.

12 MATLAB-miljön Hjälp fås via MATLAB help i menyn Help
Observera även Demos som kan vara idé att titta igenom Matlab är ett stort program som innehåller många kommandon och funktioner. För att veta hur olika saker används behöver man hjälp och det enklaste sättet är den on-line hjälp som finns. Använd menyn Help och under exemplivis Matlab help kan man exempelvis hitta alla funktioner som finns i Matlab och hur de används. Du ser också att det finns Demos, demonstrationsprogram att köra. Det är en god idé att titta igenom åtminstone en del av dessa eftersom de ger en översikt över några olika användningsområden.

13 MATLAB-miljön Hjälp för enstaka kommandon kan göras direkt i kommandofönstret >> help kommando Exempel Vad gör kommandot exit ? >> help exit EXIT Exit from MATLAB. EXIT terminates MATLAB. Snabb hjälp för enskilda kommandon kan man enkelt få direkt i kommandofönstret genom att skriva help följt av kommandonamnet. Exemplet här visar hur man får hjälp med kommandot exit. De flesta hjälptexter är till skillnad från exit ganska långa och ger olika möjligheter i hur kommandon kan användas. Oftast är det enklaste användningen först i hjälptexten och de lite mer komplicerade längre ner. Ta för vana att använd help på det här sättet när du använder kommandon i Matlab.

14 Variabler i MATLAB En variabel i MATLAB
kan ses som behållare som innehåller ett värde av en viss typ (heltal, rella tal, text,…) har alltid ett namn Måste börja på bokstav. Använd ej å, ä, ö, space, bindestreck (minus), plustecken etc i namnet kan tilldelas ett värde skapas när de behövs, utan speciell ”deklaration” (är av typen ”matris”). kan vara fördefinierad (t ex pi, ans) >> a = 3 a = 3 >> pi ans = 3.1416 Vi har redan tidigare sett exempel på variabler. De är en typ av behållare som innehåller ett värde av en viss typ, t ex tal eller text. De har alltid ett namn, t ex a, b, c eller mer komplicerade namn som beskriver vad de är för typ av variabel. Det är viktigt att komma ihåg att variabler måste börja på en bokstav, inte t ex en siffra. Det går inte att använda svenska bokstäverna å, ä ö som namn. Inte heller använda mellanslag, bindestreck (som betraktas som ett minustecken), plustecken eller andra specialtecken i variabelnamnet. Variabler tilldelas ett värde. Lika-med-tecken betyder alltså tilldelas och inte lika-med (hur lika-med ser ut kommer vi till senare) Variabler skapas när man tilldelar värde, behöver ingen speciell typ-deklaration som i andra språk t ex Java, C, C++ etc. Som vi ska se senare betraktar matlab variabler som matriser, men vad det är kommer vi till senare. Vissa variabler är fördefinierade, finns inbyggda t ex pi. I exempelt i den grå rutan ser vi just pi.

15 Variabler i MATLAB Variablerna visas i delfönstret Workspace
Kommandona du skrivit visas i Command History När man skapar en variabel visas den i delfönstret Workspace. I bilden ser du att a skapats och syns i Workspace och även ans skapats och syns där. Man ser också vilka värden de har och hur stora de är. 1*1 står för 1*1-matris som alltså är ett enstaka värde. De kommandon som använts för att definiera variablerna syns i Command history

16 Variabler i MATLAB Kan även lista variabler i kommandofönstret med kommando who, whos >> who Your variables are: a ans >> whos Name Size Bytes Class a x double array ans 1x double array Grand total is 2 elements using 16 bytes Man kan även få ut samma information direkt i kommadofönstret genom kommandona who eller whos, där whos ger lite mer information.

17 Variabler i MATLAB Variabler kan skrivas ut i olika format
>> y = sin(2*pi/3); >> y y = >> format long; y y = >> format long e; y y = e-001 >> format short e; y y = e-001 >> format short; y y = % Standardformat åter e-001 betyder 10-1 Vi såg att t ex pi tidigare enbart visades med 4 decimaler. Ibland vill man se fler decimaler och man kan ändra utskriftsformatet med kommandot format. Vi ser i exemplet här en beräkning sin för 2pi delat med 3 där resultatet läggs i variabeln y. Standardformatet är alltså 4 decimaler. Genom att ge kommandot format long och sedan skriva ut igen får vi 14 decimaler. Skriver vi format long e får vi på exponentform, dvs 8.66 etc gånger 10^(-1). E-001 betyder alltså 10^(-1). Ändrar vi till format short e får vi samma exponentform men talet skrivs ut med 4 decimaler istället för 14. Slutligen format short ger standardformatet åter. Observera att det här påverkar INTE noggrannheten på något sätt, det påverkar enbart hur många siffror som syns vid utskrift. Observera att noggrannheten är lika, det är bara själva utskriften som ändras.

18 Variabler i MATLAB Variabler kan sparas på fil och laddas upp vid annan MATLAB-session senare. I delfönstret Workspace används knapparna Variabler sparas då som s k MAT-filer, filer med ändelsen .mat Filen (och variablerna) kan laddas upp senare i samma fönster MAT-filer kallas binära och är ej läsbara eller editerbara. Spara Ladda upp Om man har en eller flera variabler som kanske kräver en hel del arbete att skapa vill man kanske spara variablerna till ett senare tillfälle när man ska arbeta med Matlab. Det går då att spara variablerna med hjälp av knappar i Workspace-fönstret. Markera de variabler som du vill spara och klicka på spara-knappen. Variablerna sparas då en fil. Observera att om det är flera variabler som ska sparas så sparas de i samma fil. Variablerna sparas i en fil av ett speciellt Matlab-format, en s k mat-fil (ändelsen .mat). Dom här filerna kan inte läsas utanför Matlab. Däremot kan man vid ett senare tillfälle ladda upp variablerna genom att ladda filen med ladda-knappen som du kan se i figuren.

19 Spara och hämta variabler
Knappen Ladda upp kan användas för att ladda in andra format t ex spreadsheets (excel), ljudfiler, filmfiler etc etc Välj filformat i det fönster som öppnas efter klickat på knappen Ladda upp Det går också att ladda upp andra format, t ex från excel med ladda-knappen. Det finns en hel rad med möjliga filformat tillgängliga och vill man ladda in data från excel-ark anger man alltså spreadsheet. Det går också att spara data till excelark. Mer om hur kopplingen till excel går till finns i kursen i PingPong. Under grunderna i Matlab finns speciellt avsnitt Matlab och Excel. De kommandon som används är xlsread och xlswrite, dvs man läser från respektive skriver till excel.

20 Spara och hämta variabler
I kommandofönstret kan man på exakt samma sätt spara med kommandot save filnamn variabler sparar variablerna A och B på filen MinaMatriser.mat Kan ladda in variablerna genom load filnamn Det finns även andra format än mat-formatet att välja på (testa help save) Kommandona xlswrite och xlsread används till/från Excel >> save MinaMatriser A B Samma sak som kan göra med knappar i Workspace kan även utföras med kommandon i kommandofönstret. Man använder då kommadona save för spara och load för att ladda in i Matlab. Här går det även att spara i lite andra format än .mat. För att se vad man kan göra med save och load kan du använda help, t ex skriva help save i kommandofönstret. Som jag sa tidigare kan man använda xlsread och xlswrite för att spara till och ladda upp från Excel. Exempel finns in kursen i PingPong. Använd även help.

21 Funktioner Det finns mängder av fördefinierade funktioner, t ex för
elementär matematik linjär algebra grafik i 2D och 3D integraler och differentialekvationer statistik Kurvanpassning En av fördelarna med Matlab är alla inbyggda funktioner som finns för det mesta som kan behövs när man arbetar med beräkningar. Exempel är abs för absolutbelopp, sqrt för kvadratrot, sin för sinus, log för naturliga logaritmen, dvs ln och log10 för 10-logaritmen etc etc Det finns funktioner för matematik ända upp forskarnivå. Exempel: abs(x), sqrt(x), sin(x), log(x), log10(x),…

22 Funktioner Man kan också skapa egna funktioner…
...mer om detta senare i programmering i MATLAB  Sen kan man skriva egna funktioner. Detta gör man när man programmerar i Matlab, så det kommer senare under grundläggande programmering.

23 Några små tips Piltangent återkallar tidigare kommandon
kan också använda delfönstret command history Dubbelklicka på ett kommando för att upprepa (inkl utföra) kommandot Markera kommandot med musen, dra och släpp i kommandofönstret. Kommandot utförs ej utan man trycker på return för att utföra. Kan på det sättet ändra i kommandot innan utförande. Innan vi slutar den här föreläsningen ska vi ta några tips på saker som förenklar tillvaron när man använder Matlab. Man behöver aldrig skriv om samma kommando eller sekvens av kommandon flera gånger, även om man ha skrivit något fel och behöver ändra någon siffra. Man kan istället upprepa kommandon på lite olika sätt. Det enklaste är tangenten ”uppåtpil” på tangentbordet. Med den upprepas tidigare kommandon. Man går uppåt i listan av tidigare kommandon för varje tangenttryckning. När man hittat sitt kommando trycker man return och kommandot utförs. Vill man ändra något använder man vänster och högerpil för att ställa sig på rätt plats i kommandot och sedan ändra. Man kan också använda delfönstret Command history. Om man dubbelklickar på ett kommando i Command History hamnar det i Kommandofönstret och utförs. Om man ”tar tag” med musen i ett kommando kan man dra det till kommandofönstret och släppa. Kommandot hamnar där men utförs inte utan att man trycker return. På det sättet kan du även gå in och ändra i kommandot innan return

24 Några små tips ctrl-c avbryter körningen av ett kommando (men stoppar inte MATLAB) diary kan användas för att spara skärm-utskrifter i en fil Allt som skrivs på skärmen mellan diary och diary off hamnar nu i filen uppg1.txt. Lämpligt att använda för att redovisa kör-exempel i inlämningsuppgifter t ex. >> diary uppg1.txt …diverse kommandon här… >> diary off % stänger diary Tangenterna kontroll och c nedtryckta på tangentbordet avbryter ett kommando. Om t ex en beräkning visar sig ta för lång tid eller man hamnat i en oändlig loop kan det vara lämpligt att avbryta. När ni ska lösa inlämningsuppgifter vill vi att körexempel redovisas. Ett enkelt sätt att göra detta är att skriva kommandot diary och den fil som det ska hamna på t ex uppg1.txt Alla kommandon och resultat som sedan skrivs ut på skärmen hamnar också på filen uppg1.txt. Detta pågår enda tills detta slås av med kommandot diary off Filen som det hamnar på blir en textfil och har man gjort något som inte behöver redovisas och kan tas bort kan man gå in och ändra i den med en texteditor, t ex Anteckningar i Windows. Observera att filen hamnar där Matlab s a s befinner sig i katalogsystemet.


Ladda ner ppt "Grunderna i MATLAB 1 Vad är MATLAB? Användningsområden MATLAB-miljön"

Liknande presentationer


Google-annonser