Grunderna i Matlab. Efter genomförda övningar skall du kunna förklara, redogöra för, och använda följande:

Storlek: px
Starta visningen från sidan:

Download "Grunderna i Matlab. Efter genomförda övningar skall du kunna förklara, redogöra för, och använda följande:"

Transkript

1 Introduktion Detta material 1 är tänkt att användas som en introduktion till Matlab. Materialet är till stor del självförklarande och kommer att användas som övningsmaterial under laborationstillfällena. Du kommer inte att hinna jobba igenom hela materialet på laborationstillfällena utan det krävs även arbetet utanför schemalagd tid. Cody Courswork Materialet är uppdelat i fyra delar och i slutet av varje del finns ett antal extra uppgifter att lösa. Tanken är att uppgifterna ska lösas i Cody TM Coursework TM som är ett interaktivt lärverktyg utvecklat av Mathworks för att studenter ska kunna få automatisk återkoppling vid inlärning av MATLAB. Du får tillgång till Cody Coursework av din lärare på kursen. Uppgifterna går även att lösa direkt i Matlab. Grunderna i Matlab Efter genomförda övningar skall du kunna förklara, redogöra för, och använda följande: Fönster Arbetsyta, Kommando-, Historie- och Katalog-fönster Datatyper Skalärer, Textsträngar Skalärer + - / ˆ ( ) Funktioner I sin() cos() tan() cot() asin() acos() atan() acot() Funktioner II sqrt() exp() log() log10() Hjälpfunktioner help doc help elfun Variabler ans pi Inf NaN stora och små bokstäver Arbetsyta who clear exit Textsträngar ' ' num2str() disp() m-filer % clc input() ; pwd cd ls dir In- och utmatning 1 Att starta och avsluta Matlab A. Starta Matlab enligt givna instruktioner. Matlab-fönstret kommer nu upp och skall se ut som figuren nedan. Om inte: B. Välj Desktop/Desktop Layout/Default. Matlab-fönstret är nu indelat i fyra underfönster. I kommandofönstret ger man sina Matlab-kommandon vid prompten >>. Resultaten av beräkningarna lagras då i arbetsytan där man kan se vilka variabler som är definierade. I historiefönstret ser man vilka kommandon man har givit. Man kan bara skriva in kommandon vid den sista prompten i kommandofönstret. Vill man editera ett tidigare givet kommando så får man fram kommandohistoriken med tangenten pil upp. I katalogfönstret dvs fönstret med mappar hanterar man sina Matlab-filer och navigerar bland mapparna. 1 Delar av texten är baserat på material skapat av Claes Tisell. 1

2 C. Skapa en lämplig mapp för dina Matlab-filer. Som exempel nedan används mapp-namnet demolab. D. Ställ nu in abetsmappen i Matlab. Detta görs genom att välja den nyskapade mappen demolab i katalogfönstret, eller i raden ovanför kommandofönstret. Detta kan också göras från kommandoprompten med cd demolab. Kontrollera vilken arbetsmapp som är inställd med pwd. E. Avsluta Matlab genom att antingen ge kommandot exit vid prompten, eller med -knappen i Matlab-fönstrets hörn. Alla utförda beräkningar kommer att gå förlorade. 2 Skalärer och variabler Matlab är ett interaktivt program där man matar in matematiska uttryck vid prompten >> och får svaret då man trycker på enter. I Matlab gäller evalueringsordningen (beräkningsordningen): exponenter först, sedan multiplikation och division, och sist addition och subtraktion. Vill man ändra på denna evalueringsordning måste man använda parenteser. Vid decimaltal använder Matlab punkt. A. Evaluera och verifiera följande uttryck: >>1+2*3 (=7) >>1+(2*3) (=7) >>(1+2)*3 (=9) B. Skriv nedanstående beräkningar som Matlab-uttryck och evaluera. Får ni fel svar, tryck på tangenten pil upp så kommer uttrycket fram vid prompten och ni kan ändra i uttrycket. Tecknet upphöjt till (ˆ) syns inte direkt när man trycker på tangenten utan syns först när man trycker på nästa tangent. 2*3^3*2 = 108 (2*3)^3*2 = 432 2*3^(3*2) = *(3^3)*2 = 108 6^3*2 = 432 2*3^6 = = (2 + 3) (1 + 3)1+2 8 = 223 2

3 C. NaN och Inf betyder Not-a-Number respektive Infinity, d v s ej matematiskt definierad och oändligheten. Vilket av följande uttryck ger respektive resultat? = = D. Variabeldefinition. Vid mer omfattande beräkningar är det lämpligt att lagra resultaten och mellanresultaten i variabler. Dessa variabler kan, med några få undantag, ha godtyckliga namn men notera att Matlab skiljer på stora och små bokstäver i variabelnamnen. Variabeln x kan definieras genom att skriva: >>x=5 och trycka på enter. Variabelnamnen får dock inte innehålla tecknen å, ä, ö, %, och mellanslag. Andra tecken som är olämpliga i variabelnamn är versalt och gement O (O, o) samt gement L (l) eftersom de lätt förväxlas med noll (0) och ett (1). Variabelnamnen får heller inte börja med siffror. Definiera variablerna a=3 och A=7 i Matlab samt verifiera att a*a blir 21. Ett variabelnamn som är upptaget är pi som innehåller just talet π. I Matlab finns också ett stort antal funktioner definierade. T ex de trigonometriska funktionerna heter sin, cos, tan, cot och dess inversfunktioner asin etc. Argumenten (indata) till dessa funktioner måste vara i radianer. Övergången mellan grader och radianer görs som bekant genom att multiplicera med faktorerna π/180 respektive 180/π. E. Evaluera och verifiera följande uttryck: ( π 2 sin 3 π ) = tan(ν) = 1 ger ν = π 5 4 När man måste evaluera komplexa och stora uttryck är det oftast bättre och bryta ner dessa till mindre deluttryck och spara dessa mellanresultat i variabler. Ibland vill man inte att Matlab skall skriva ut värdena efter evalueringen. För att undertrycka utskriften avslutar man inmatningen med ; innan man trycker på enter. F. Definiera variabeln x som x = π sin ( 3π 2 ) 6π 7 arcsin 2 ( ) 1 2 ( ( cos π ) ( 3 + tan π )) 3 4 genom att först definiera (utan att skriva ut värdena) tre hjälpvariabler och sedan x v = 3π 2 6π ( ) 1 ( π ) ( π ) 7, t = π sin(v) arcsin2, n = cos + tan, x = t n 3. Vi har nu definierat ett antal variabler som finns lagrade i arbetsytan: a, A, n, t, v och x. Dessa finns nu listade i arbetsytefönstret. Vi ser också att variabeln ans finns listad utan att vi aktivt har definierat den. Som ni kanske märkt så returnerar Matlab ans = före varje svar då man inte tilldelar uttrycket till en variabel. ans är en variabel där svaret på senaste evalueringen sparas om man inte har definierat en egen variabel för svaret. Denna variabel kan användas men notera att den byter värde vid varje evaluering. Vill man veta vad en variabel har för värde skriver man bara variabelnamnet och trycker på enter. G. Kontrollera först att v=2.0196, t= och n=1.5 genom att skriva variabelnamnet och trycka på enter. Verifiera sedan att x= Om detta inte stämmer får ni gå tillbaka och korrigera inmatningen så att den stämmer med uppgift F ovan. För att editera en gammal inmatning trycker ni fram önskad inmatningsrad med tangenten pil upp. 3

4 Variablerna kan också listas genom att ge kommandot who vid prompten. För att radera hela arbetsytan (alla variablerna mm.) används kommandot clear all. För att radera specificerade variabler (t ex a och x) ges kommandot clear a x. För att rensa kommandofönstret används clc. Notera att detta inte rensar arbetsytan utan bara utskrifterna i kommandofönstret. H. Kontrollera först vilka variabler som är definierade med hjälp av who. Radera sedan endast hjälpvariablerna v, t och n. Kontrollera åter med who om de tre variablerna har försvunnit från arbetsytan. Avsluta med att rensa kommandofönstret med clc. En grundläggande matematisk funktion är som i Matlab utförs med sqrt(). Andra matematiska funktioner är t ex logaritmiska funktioner där det finns funktioner för logaritmer med basen 10 (log10()) samt för den naturliga logaritmen (log() motsvarar ln och exp() motsvarar basen e). I. Definiera följande variabler y 1 = e 2 5 och verifiera att de har evaluerats till y 2 = ln(5 + e 3 ) y 3 = y 4 = log 10 ( e 4 6 sin y 1 = y 2 = y 3 = y 4 = ( ) ) 6π 15 Vi har nu gått igenom de viktigaste matematiska funktionerna i Matlab. För att lista Matlabs alla matematiska funktioner skriver man help elfun vid prompten. I Matlab finns en mycket värdefull interaktiv hjälp om man inte vet hur ett kommando eller funktion fungerar. help följt av ett Matlab-kommando ger information om det givna kommandot. doc följt av ett Matlabkommando öppnar Matlabs hjälpfönster med en beskrivning av kommandot. J. Ta reda på hur sqrt fungerar med hjälp av både help och doc. 3 Texteditorn och Matlab-script (m-filer) Hittills har vi använt Matlab som en interpretator, d v s Matlab tolkar och utför ett kommando så snart det är givet och man tryckt på enter. När vi går ur Matlab med t ex exit kommer all information gå förlorad. Ett vanligt sätt att lagra ett visst beräkningsarbete är att skapa ett Matlab-script även kallad m-fil (en textfil med filtillägget.m) som innehåller hela sekvensen Matlab-kommandon som krävs för att lösa problemet. När man sedan läser in en sådan m-fil i Matlab evalueras filens alla kommandorader i Matlab. Detta kallas för att exekvera filen. På detta sätt kan man spara arbetet samt lätt redigera filen och köra den i Matlab om och om igen. Vid val av filnamn gäller samma regler som vid val av variabelnamn i Matlab, se stycket under 2C ovan. A. Ladda ner filen lab3c.m från kurshemsidan till er mapp på som ni skapade i 1C ovan. Kontrollera sedan att ni har rätt arbetsmapp inställd med hjälp av kommandot pwd samt att filen lab3c.m ligger i denna mapp med hjälp av kommandot ls eller dir. B. Öppna filen i Matlabs editor genom att välja Open i menyn eller genom att dubbelklicka på filen i katalogfönstret. Matlabs editor öppnas nu i ett eget fönster, se figur nedan, med aktiv mapp densamma som arbetsmappen. Detta lilla program beräknar en cirkels radie för given omkrets. De tre första raderna börjar med % vilket innebär att de är kommentarer som ej exekveras i Matlab. De första kommentarraderna skrivs ut om man skriver help lab3c. 4

5 För att köra programmet skriver man bara filnamnet vid prompten utan filtillägget.m. På rad 5 stannar programmet och frågar efter indata som kommer att lagras i variabeln L. Avslutningsvis beräknas radien som lagras i variabeln R. Eftersom rad 6 saknar semikolon (;) så kommer det evaluerade värdet på R att skrivas ut på skärmen. De variabler som definieras i programmet (L och R) kommer också att finnas i arbetsytan efter att programmet har exekverats. Man kan alltså efteråt kontrollera värdet i dessa variabler vid felsökning i programmet. Ett enkelt sätt att kontrollera att ett program räknar rätt är att ge indata på ett sådant sätt att man vet vad utdata skall bli. I detta fall vet vi att en cirkel med radien 1 har omkretsen 2π. C. Börja med att skriva help lab3c för att se programmets första kommentarrader. Exekvera sedan programmet genom att skriva lab3c vid prompten följt av enter. När programmet stannar och väntar på indata matar ni in 2*pi. Det verkar inte som att programmet räknar rätt. Skriv who för att se vilka variabler som är definierade. Kontrollera innehållet i L och R. Rad 5 som definierar L verkar fungera medan R har fel värde. Det troliga är då att felet finns på rad 6. Lokalisera felet, korrigera, och spara. Exekvera programmet på nytt för att testa. Nu har vi ett program som räknar rätt. Då återstår bara att ordna till inmatningen och utmatningen till och från programmet. När man skall göra utskrifter av resultaten på skärmen är det lämpligt att bygga upp textsträngar och lagra dessa i variabler. Text måste omslutas av apostrofer av typen ' (samma tangent som *). För att bygga upp en textsträng av flera strängar måste alltihop omslutas av hakparenteser ([ och ]), se rad 10 i figuren nedan. På den raden ser vi också kommandot num2str som konverterar ett tal till en textsträng, se vidare help num2str. För att skriva ut textsträngen lagrad i variabeln används disp (rad 11), mata fram en tomrad görs med disp(' ') (rad 12). D. Se till att utskriften i kommandofönstret blir som nedan när man kör programmet (med radframmatningar, mellanslag etc.). Ta för vana att alltid börja ett program med att rensa arbetsytan och eventuellt också skärmen (clear all respektive clc på första raden efter kommentarraderna). Ge cirkelns omkrets i mm: 2*pi En cirkel med omkretsen L = mm har radien R = 1 mm >> E. Skapa en m-fil med namnet lab3e.m som beräknar arean och omkretsen av en n-hörning som är inskriven i en cirkel med radien r. 5

6 Programmet skall stanna och fråga efter antal hörn och cirkelns radie. Utskriften från programmet skall vara En 9-hörning inskriven i en cirkel med radien r=50 mm har arean A=7231 mm2 och omkretsen L=308 mm. Texteditorn startas genom att klicka på New (+) eller att välja New/Script. Kontrollera att filen har hamnat i arbetsmappen genom att titta i katalogfönstret eller med ett av kommandona dir eller ls. Area och omkrets beräknas enligt A = 1 2 nr2 sin ( 2π n ) och ( π L = 2nr sin n) Tänk på evalueringsordningen. Hela högerledet måste gå att evaluera, d v s högerledet får inte innehålla variabler som inte är definierade. Räknar programmet rätt? (1) 6

7 Cody Coursework - övningsuppgifter till grunderna i Matlab Variabler och tilldelning A Tilldelning Beräkna följande uttryck och tilldela resultatet till de angivna variablerna x = Tilldela variabeln Resultat1 värdet på x. y = Tilldela variabeln Resultat2 värdet på y. Tilldela variabeln Resultat3 värdet på z ( )( ) z = ( ) 1/3 B Räkna med variabler (BP) Skapa variablerna a, b, c och d där a = 1, b = 9, c = 12 och d = 8. Beräkna sedan följande uttryck p = a + b c d r = ab+c c d och lagra resultaten i variablerna p, q, r och s. q = a b c a + b s = a + b c d bc b d c ab C Volymen av en cylinder (BP) Volymen, V av en cylinder med radie, r och längd, l ges av V = πr 2 l. Skriv Matlab-kommandon som definierar variabeln Radie med värdet 4.25 och variabeln Langd med värdet Använd variablerna för att beräkna volymen av en cylinder med motsvarande dimension. Lagra resultatet i variabeln Volym. Grundläggande matematiska funktioner A Räkna med variabler 1 Givet följande värden på a = 2.2, b = 5.1, c = 3.1 och d = 1.8. Beräkna följande uttryck p = a 2 + b 2 + c 2 q = a cos(bc + d) r = d ln a b s = ae b (cos( πc + d) + sin(πc c d)) och tilldela resultaten till variablerna p, q, r och s. 7

8 B Räkna med variabler 2 (BP) Skriv ett eller flera kommandon för att beräkna följande uttryck ( ( ) ( )) y = 10 e 3 2π 2π 5 cos + 3 sin 5 5 ( ) z = e 3 2π 5 tan 5 tilldela resultaten till variablerna y och z. C Approximation med liten vinkel (BP) För små vinklar φ där φ anges i radianer kan man använda approximationen sin(φ) φ. Skriv ett Matlab-skript som beräknar det relativa felet, ε = sin(φ) φ sin(φ) när approximationen används för följande vinklar i) φ = π/100. Tilldela variabeln RelFel100 det beräknade relativa felet. ii) φ = π/10. Tilldela variabeln RelFel10 det beräknade relativa felet. iii) φ = π/6. Tilldela variabeln RelFel6 det beräknade relativa felet. 8

9 Vektorer, matriser och grafisk representation av data Efter genomförda övningar skall du kunna förklara, redogöra för, och använda följande: Datatyper Vektorer, Matriser, Sekvenser Vektorer [ ;, : ] x(1:3) ' + - * /.*./.^ Vektorer length() norm() dot() cross() Matriser x(2,4) x(:,4) ' + - * / ^ Matriser eye() ones() zeros() size() help elmat Sekvenser 0:0.1:5 1:10 Grafer plot() grid axis() figure() hold on/off clf Text i grafer title() xlabel() ylabel() text() legend() 4 Vektorer Hittills har vi enbart arbetat med datatypen skalärer. Nu skall vi titta närmare på datatyperna vektorer och i nästa avsnitt matriser. Sådana datatyper är kraftfulla att använda vid tekniska beräkningar och MATLAB har många funktioner för dessa datatyper och hanterar dem på ett effektivt sätt. A. Rensa först arbetsytan med clear all. Mata sedan in och verifiera följande vektorer, notera att MATLAB inte skriver ut parenteser runt vektorerna. >>a=[1-2 3] ger ( ), >>b=[4,5,6] ger ( ) 7 2, >>c=[7;8;9] ger 8 och >>d=[2 4 6]' ger Separatortecknen mellanslag och, ger båda radvektorer (a och b) medan ; ger en kolumnvektor (c). Man kan se det som att ; ger en ny rad i vektorn. För att transponera en vektor sätter man en apostrof (') efter vektorn (som d ovan). Nu kan vi använda de vanliga operatorerna +, -, * och / mellan vektorer samt mellan vektorer och skalärer enligt de regler som gäller för vanlig matrisalgebra. Notera därför att dimensionerna måste stämma för att kunna utföra vissa operationer. B. Med värden på a, b, c och d enligt 4A. ovan, verifiera följande operationer: ( ) ( ) ( ) a + b d v s = a + c T ( ) ( ) ( ) d v s = b d v s 6 ( ) = ( ) 3a d v s 3 (1 2 3 ) = ( ) a 1 d v s 2 2 (1 2 3 ) = ( ) ( ) a d v s ( ) =? b Notera att den sista operationen ger att skalärt svar i Matlab, fastän operationen inte har någon entydig tolkning. Var vaksam vid multiplikation och division av vektorer. C. Verifiera att a = (absolutbeloppet av vektorn a) genom att dels utföra beräkningen a a och dels använda den fördefinierade funktionen norm(). 9

10 D. Multiplikation (*), division (/) och upphöjt till (ˆ) av vektorer följer vanliga matris- och vektoralgebraiska regler i Matlab. Vid komponentvis multiplikation vill vi däremot att 1:a komponenten i vektorn x skall multipliceras med 1:a komponenten i vektorn y. Resultatet utgör 1:a komponenten i resultatvektorn. På samma sätt får man fram de efterföljande komponenterna, d v s ( x1 y 1 x 2 y 2 x n y n ). För att hantera detta har man infört.-notationen i Matlab. De tre nya operatorerna för komponentvisa operationer på vektorer är multiplikation (.*), division (./) och upphöjt till (.ˆ). Med a och b enligt ovan, verifiera följande komponentvisa operationer: ( ) ( ) a.*b d v s = ( a.ˆ2 d v s 1 2 ( 2) 2 3 2) = ( ) ( a.ˆa d v s 1 1 ( 2) 2 3 3) = ( ) ( b./a d v s 4 ) ( ) = ) ( ) 3./a d v s = ( Matriser Nu är det dags att gå från vektorer till matriser. Vid definition av matriser används mellanslag och komma (,) för att separera komponenterna på varje rad. Semikolon (;) används för att separera raderna i matrisen. De vanliga operatorerna +, -, * och / är definierade i MATLAB enligt de regler som gäller för vanlig matrisalgebra. Notera därför att matrisdimensionerna måste stämma för att kunna utföra vissa operationer. Upphöjt till (ˆ) finns också definierat i MATLAB men då bara för kvadratiska matriser. För att transponera en matris sätter man en apostrof (') efter matrisen. Elementvisa operationer fungerar likadant som för vektorer. A. Definiera först vektorerna u = ( ), v = ( ), z = ( ). Definiera sedan följande vektorer och matriser: A=[u v z] B=[u;v;z] C=[u' v' z'] D=[u';v';z'] Vilka är matriser och vilka är vektorer? Utnyttja kommandot size för att få en vektor med antal rader och antal kolumner. Verifiera att A = D T och B = C T. ( ) ( ) ( B. Definiera matriserna A = och B = samt vektorn x =. För att skapa matrisen ) A kan man exempelvis skriva >>A = [2 1; 4 5]. Notera att semikolon används som radbrytning. 10

11 Verifiera sedan följande matrisoperationer: ( ) ( ) ( ) A B d v s = ( ) ( ) ( ) Ax d v s = ( ) ( ) xa d v s = ej definierat ( ) 1 ( ) ( ) A A d v s = ( ) ( ) ( ) AB d v s = ( ) ( ) ( ) BA d v s = ( ) ( ) ( ) AA d v s = ( ) ( ) ( ) A d v s = ( ) ( ) ( ) A T A d v s = ( ) ( ) ( ) AA T d v s = Skalärprodukt mellan två vektorer kan göras genom att använda transponering. Verifiera att skalärprodukten u v kan erhållas genom u*v'. C. Använd help för att ta reda på hur eye, ones och zeros fungerar. Skapa sedan följande matriser med hjälp av dessa funktioner: , ( ) ,, , D. Definiera vektorn e = 2 ( ) T och verifiera att 3:e komponenten är 10 genom att skriva e(3) vid prompten. Definiera sedan subvektorn f som komponent 3-5 ur e med >>f=e(3:5). Ändra nu värdet på 2:a komponenten i f till 27 med >>f(2)=27. Jämför nu värdena i e och f, har även e påverkats av ändringen? E. Definiera matrisen E = Ta sedan ut komponenten e 23 med E(2,3), 2:a kolumnen med E(:,2), 3:e raden med E(3,:) och submatrisen e 21 e 22 e 23 e 31 e 32 e 33 med E(2:4,1:3). Ändra värdet på komponent e 21 med E(2,1)=22 e 41 e 42 e 43 samt på de tre första komponenterna i första raden med E(1,1:3)=[ ]. Verifiera slutligen att e 13 + e 34 = 59 med E(1,3)+E(3,4) samt att summan av 4:e kolumnen av E är 27 (använd sum()). 11

12 6 Sekvenser och grafisk representation av data Ett viktigt arbetssätt i MATLAB är se vektorer som en sekvens av skalärer. Dessa sekvenser kan t ex användas för att göra värdetabeller av funktioner (funktionstabeller) som man vill plotta i ett diagram. Sekvenser med konstant steglängd skapas i MATLAB med :, t ex kommandot [startvärde:steg:slutvärde]. Om steget i sekvensen är 1 kan det utelämnas och kommandot blir [startvärde:slutvärde]. Notera att sekvens och vektor är samma sak. A. Skapa följande sekvenser a=[0:10] b=[4:-1:-4] c=[0:0.2:1] x=[0:pi/6:2*pi] B. Skapa nu en ny m-fil med namnet lab6g.m där ni bygger upp grafen i figuren nedan med hjälp av kommandona beskrivna i uppgift C-G nedan. C. Utgå från sekvensen i x ovan och skapa sekvensen y=sin(x). För att illustrera att detta är en funktionstabell skapar vi också matrisen tab=[x' y'] där vi känner igen sinusvärdena 0, 1 2, 3 2 och 1 för motsvarande vinkel 0, π 6, π 3 och π 2. D. Plotta nu y(x) med plot(x,y). Grafen kommer upp i ett eget fönster. Låt oss också plotta cosinus i samma graf. Definiera först z=cos(x) och plotta sedan båda funktionerna med plot(x,y,x,z). E. Nu skall vi modifiera plotten genom att göra sinuskurvan röd samt markera datapunkterna med en ring. Då skapar vi plotten på följande sätt, plot(x,y,'ro',x,z). Vill vi att sinuskurvan även skall vara streckad skapar vi plotten på följande sätt, plot(x,y,'ro--',x,z). Se vidare help plot för ytterligare färg och kurvval. F. Vi ser också att kurvorna är hackiga. Det beror på att det är glest mellan datapunkterna, dvs. det är för få data i x-vektorn. Minska steget i x-vektorn från uppgift A ovan till π 60. Nu ser vi att kurvorna är betydligt jämnare. Antal element i x-vektorn fås med length(x) eller size(x). G. Nu skall vi ordna grafen så att den blir tydligare. Börja med att lägga in stödlinjer med grid. Lägg sedan in förklaringar till de två kurvorna med legend('sinus', 'cosinus'). Denna förklaring kan ni flytta fritt över grafen genom att dra den med musen. Lägg också in följande förklaringar i grafen: title('min första graf'), xlabel('radianer') och ylabel('y-värdet'). Skalorna på axlarna vill vi nu ändra till axis([0 2*pi ]). Förklarande text kan även läggas till med kommandot text eller gtext. Resultatet bör se ut ungefär som figuren nedan. 12

13 13

14 Cody Coursework - övningsuppgifter till vektorer, matriser och grafisk representation av data Vektorer och matriser A Skapa vektorer (listor) Skapa en vektor (lista) med värden i) från 0 till 10 med stegländen ett, dvs [ ]. Lagra resultatet i variabeln vek1. ii) från 0 till 100 med stegländen två. Lagra resultatet i variabeln vek2. iii) från 5214 till 8286 med 7 jämnt utspridda värden. Lagra resultatet i variabeln vek3. iv) från 0 till -999 med steglängden 3. Lagra resultatet i variabeln vek4. B Hantera vektorer 1 Man kan referera till element i en vektor v med v(index1:steglängd:index2) där steglängd måste vara ett heltal. Om v=[ ] så resulterar kommandot w=v(2:2:end) i en vektor w med elementen [1 3 5]. Kommandot w=v(end:-2:1) resulterar i en vektor w med elementen [5 3 1]. Variabeln end refererar till sista elementet i vektorn. Skapa en vektor med värden mellan 1 och 100 med steglängden 1. Lagra resultatet i variabeln v. Använd vektorn v för att definiera följande vektorer: i) En radvektor som innehåller var tionde element i v där första värdet ska vara första värdet i v. Lagra resultatet i variabeln v1. ii) En kolonnvektor som innehåller de 75 sista elementen i v i omvänd ordning. Vektorn ska börja med värdet 100. Lagra resultatet i variabeln v2. C Hantera vektorer 2 (BP) Skapa följande två vektorer 7 8 u = 2 5 v = [ ]. 9 Använd vektorerna ovan för att generera nedanstående vektorer. i) En radvektor w som innehåller elementen i u följt av elementen i v. Lagra resultatet i variabeln w1. ii) En kolonnvektor som innehåller elementen i w men i omvänd ordning. Lagra resultatet i variabeln w2. iii) En radvektor som innehåller de tre första elementen i u följt av de 3 sista elementen i v. Lagra resultatet i variabeln w3. iv) En kolonnvektor som innehåller vartannat element från u (börja med det första) följt av vart tredje element i v (börja med det första). Lagra resultatet i variabeln w4. 14

15 D Medelvärdet av talen i en vektor (sum) (BP) Om N tal finns samlade i en vektor (lista) u = [u 1, u 2,..., u N ] kan man beräkna medelvärdet av talen enligt ū = 1 N u i N där u i är den i:te komponenten i vektorn u. Om man har definierat en vektor u i Matlab kan man enkelt beräkna summan av elementen i vektorn med hjälp av det inbyggda kommandot sum(u). Definiera en vektor u som innehåller värden från -4 till 0 med steglängden 0.1 samt värden från 12 till 18 med steglängden Beräkna sedan medelvärdet av talen i vektorn u genom att använda formeln ovan. Lagra resultatet i variabeln umedel. För att ta reda på hur många element som finns i en vektor använder man kommandot length(u) i Matlab. Notera att man även kan beräkna medelvärdet av talen i en vektor med kommandot mean. Detta ska du dock inte använda i ovanstående uppgift. E Teckenbyte Skriv ett skript som givet en vektor v byter tecken på vartannat element (element 2, 4, 6 osv) i v och lagrar den nya vektorn i en variabel vny. Skriptet ska fungera för en vektor med ett godtycklig antal element. Exempelvis om i=1 v = [ ] så ska ditt skript producera en vektor med elementen F Skapa matriser (tabeller) Börja med att skapa matrisen A v ny = [ ]. A = Skapa sedan nedanstående matriser genom att plocka ut lämpliga delar ur matrisen A i) Matrisen A 1 = Lagra resultatet i variabeln A ii) Matrisen A 2 = Lagra resultatet i variabeln A iii) Matrisen A 3 = Lagra resultatet i variabeln A

16 iv) Matrisen A 4 = G Hantera matriser (BP) Definiera följande matriser och vektorer A = B = Lagra resultatet i variabeln A C = c = 0 2 i) Definiera om matrisen A genom att först byta plats på 1:a och 4:a raden och sedan byta plats 2:a och 3:e kolonnen. Skriv inte in matrisen på nytt utan utgå från den matris du redan definierat (du kan behöva en temporär hjälpvariabel). Lagra resultatet i variabeln A1. ii) Skapa matrisen D genom att först addera matrisen B till C och sedan lägga till vektorn c som en tredje kolonn. Slutligen, skapa matrisen A 2 genom att till A 1 lägga till matrisen D enligt, [ ] A1 A 2 = D Lagra resultatet i variabeln A2. H Skapa speciella matriser (eye, ones, zeros) I Matlab finns det ett antal inbyggda funktioner för att skapa speciella matriser och vektorer. Kommandot eye skapar en enhetsvektor eller enhetsmatris. Kommandot ones skapar en vektor eller matris med enbart ettor och kommandot zeros skapar en vektor eller matris med enbart ettor. Använd help i Matlab för att ta reda på hur eye, ones och zeros fungerar. Skapa följande matriser med hjälp av dessa funktioner samt med hjälp av algebraiska operationer som plus, minus och multiplikation i) A 1 = Lagra matrisen i variabeln A [ ] ii) A 2 =. Lagra matrisen i variabeln A iii) A 3 = Lagra matrisen i variabeln A iv) A 4 = Lagra matrisen i variabeln A

17 I Matriskatt Man kan skapa en figur som liknar ovanstående figur genom att definiera en matris som har värdet noll i de tomma rutorna och värdet ett i de fyllda rutorna och sedan rita ut de nollskilda elementen i matrisen. Skapa en nu en sådan matris och lagra matrisen i variabeln A. Försök att skapa matrisen med så få rader kod som möjligt. Den första rutan längst upp till vänster motsvarar element A(1, 1). När du har skapat matrisen skriver du spy(a,70, k ). Funktionen spy ritar ut alla element i en matris som är skilda från noll i en figur. Talet 70 i anropet ovan talar om hur stora markeringarna ska vara och k betyder att markeringarna ska vara svarta. J Euklidiska längden av en vektor Den euklidiska längden av en vektor x = [x 1 x 2 x 3 x 4 x 5 ] ges av x = x x2 2 + x3 3 + x4 4 + x5 5. I Matlab kan man beräkna x med funktionen norm(x) där x är en vektor. Skriv ett skript som givet en vektor x beräknar x på två sätt. Dels enligt definitionen ovan. Lagra resultatet i variabeln veknorm1. Dels genom att använda kommandot norm. Lagra resultatet i variabeln veknorm2. Skriptet ska fungera för en vektor med ett godtycklig antal element. Sekvenser, komponentvisa operationer och plot A Uttryck med.-notation (BP) Vi vill beräkna ett antal uttryck för följande värden på x = 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6.0. Börja med att skapa en vektor x som antar värdena ovan. Beräkna sedan följande i) 5x 2 och lagra resultatet i variabeln y1. ii) 3 2 x och lagra resultatet i variabeln y2. iii) cos(x) och lagra resultatet i variabeln y3. iv) 10e x + x 1/3 och lagra resultatet i variabeln y4. v) x x+5 och lagra resultatet i variabeln y5. Genom att använda komponentvisa operationer (.-notation) kan man göra denna beräkning för alla värden i vektorn x på en gång. 17

18 B Funktionsberäkning Vi vill beräkna funktionen y = x 2 cos(x) när 0 x 4. Börja med att skapa en radvektor x med värden som går mellan 0 och 4 med steglängden 1. För varje värde i vektorn x ska sedan uttrycket ovan beräknas. Lagra resultatet i variabeln y. Skriv ut värdena på x och y genom att skriva tabell=[x y ]. C Funktionsberäkning med plot Beräkna och plotta funktionen y = x 2 cos(x) när 0 x 4. Börja med att skapa en vektor x med värden som går mellan 0 och 4 med steglängden 1. Beräkna uttrycket ovan för varje värde i vektorn x. Lagra resultatet i variabeln y. Plotta värdena i vektorn y mot värdena i vektorn x. Låt färgen på kurvan vara röd. Markera x-axeln med x och y-axeln med y(x). Sätt titeln på plotten till y = x 2 cos(x). För att plotta y som funktion av x skriver man plot(x,y) där x och y är två vektorer av samma storlek. För att markera vilka variabler man har på axlarna kan man skriva xlabel( x ) och ylabel( y ). Vill man ha en titel på grafen skriver man title( Min graf ). Gör help plot i Matlab för att lära dig hur plot-kommandot fungerar och hur man tex byter färg på kurvan. D Fler grafer i samma figur Skapa tre vektorer x1, x2 och x3. Alla tre vektorerna ska gå mellan 0 och 4 men ha olika steglängd. Låt x1 ha stegländen 1, låt x2 ha steglängden 0.25 och slutligen låt x3 ha steglängden 0.1. För varje vektor x, beräkna funktionen y = x 2 cos(x) och spara värdena i variablerna y1, y2 och y3. Plotta sedan y mot x för alla tre fallen i samma figur. För att alla tre graferna ska synas i samma figur måste du skriva hold on efter första plotkommandot. Plotta graferna med olika färger och symboler. E Tre funktioner i samma plot Beräkna nedanstående funktioner för 1 x 4. i) f(x) = 6 2x 3x 2 + x 3 ii) g(x) = 10 (x + 2)(x 5) ii) h(x) = f(x)g(x) Låt variabeln x ha en steglängd på Funktionsvärdena f(x) lagras i variabeln f, funktionsvärdena g(x) lagras i g och funktionsvärdena h(x) lagras i variabeln h. Tänk på var det behövs komponentvisa operationer. Plotta sedan de tre funktionerna i samma figur. Använd kommandot legend för att beskriva vilken funktion som hör till vilken graf. Gör help legend i Matlab för att se hur kommandot fungerar. F Approximation med små vinklar För små vinklar φ där φ anges i radianer kan man använda approximationen sin(φ) φ. För en given vinkel φ kan man beräkna det relativa felet i approximationen med, ε = sin(φ) φ sin(φ) Skriv ett skript som genererar en matris med 3 kolonner där första kolonnen innehåller 100 jämt fördelade värden på vinkeln φ från 0.01 till π/2 (*). Den andra kolonnen ska innehålla motsvarande värden på sin(φ) och den sista kolonnen ska innehålla det relativa felet när man använder approximationen för små vinklar för motsvarande värden på φ. Lagra matrisen i variabeln RelFel. 18

19 (*) En vektor med värden jämt fördelade på ett intervall skapas enklast med kommandot linspace(a,b,n) där a och b representerar start och slutvärde och N representerar antal punkter på intervallet. G Fjärilsfunktion (BP) Skriv ett skript som givet värden på parametern t där 0 t 40π beräknar följande och sedan plottar y mot x. x(t) = f(t) sin(t) y(t) = f(t) cos(t) f(t) = e cos t 2 cos(4t) (sin( t 12 ))5. Dela upp intervallet i t i 4000 punkter och lagra värdena i variabeln t. Lagra sedan motsvarande värden på x, y och f i variablerna x, y och f och plotta y mot x. Låt kurvan vara svart och skriv x(t) på x-axeln och y(t) på y-axeln. Sätt titeln till Butterfly. H Max av en funktion I den här uppgiften ska vi studera maxvärdet av funktionen f(t) = e t (t 5 4t 2 ) där 0 t 100. i) Skapa en variabel t som går mellan 0 och 100 med steglängden h. Beräkna f(t) och lagra värdena i variabeln f. Ta fram maxvärdet av f (*) samt värdet på t = t max i vektorn t för vilket max uppträder. Gör detta för tre värden på h = 2, 1, 0.1. Lagra de tre maxvärdena i en vektor maxvek och värdena på t max i en vektor tmaxvek. ii) Beräkna skillnaden (differensen) mellan maxvärdena samt skillnaden mellan värdena på t max som du tog fram i föregående uppgift. Lagra resultatet i variablerna diffmaxv och diffmaxt. iii) Skriv slutligen ut en tabell med värdena genom att skriva tabell=[diffmaxt diffmaxv]. Notera att diffmaxv och diffmaxt måste vara på formatet kolonnvektor om utskriften ska se ut som en tabell. (*) Använd Matlab-funktionen max för att hitta maxvärdet samt värdet på t för vilket max uppträder. Gör help max om du inte vet hur funktionen fungerar. 19

20 Slingor, villkor och logik Efter genomförda övningar skall du kunna förklara, redogöra för, och använda följande: Slingor for - end while - end Ctrl-C Villkor if - elseif - else - end < <= > >= == ~= Logik && ~ xor() Det är väldigt viktigt att ni förstår hur man använder for, if och while i Matlab. 7 for-slingor Ofta vill man utföra samma operationer flera gånger men för olika indata, t.ex. olika värden på en eller flera parametrar. Detta kan göras i loopar som definieras i for-slingor. A. Ladda ner filen lab7a.m från kurshemsidan till er mapp som ni skapade i 1C. Kontrollera sedan att ni har rätt arbetsmapp inställd med hjälp av kommandot pwd samt att filen lab7a.m ligger i denna mapp med hjälp av kommandot ls eller dir. Öppna filen i Matlabs editor genom att välja Open i menyn eller genom att dubbelklicka på filen i katalogfönstret. Kör sedan filen i kommandofönstret. Som ses av utskriften och i figuren nedan så skriver lab7a.m ut en textsträng 10 gånger. Detta görs i en for-slinga (mellan for och end) som definieras på rad 7. I definitionen specificeras att variabeln ii skall anta värdena 1 till 10 med steget 1 (alltså 10 värden vilket ger 10 loopvarv). En loop börjar med att variabeln ii sätts till nästa värde på rad 7. På rad 8 skapas sedan en textsträng som lagras i variabeln txt. Beroende på variabeln ii:s värde så blir textsträngen olika från varv till varv. På rad 9 skrivs den senast skapade textsträngen ut på skärmen. På rad 10 avslutas en loop med end. Om variabeln ii har värdet 10 avslutas slingan och programmet fortsätter till rad 12, annars hoppar programmet tillbaka till rad 7 och variabeln ii antar nästa värde i for-loopen. Notera att indentering används på rad 8 och 9 för att tydliggöra att dessa rader utgör en slinga. Detta är inte strikt nödvändigt i Matlab, men tillhör god programmeringsstil och bör göras för att öka kodens läsbarhet. Använd tab-tangenten för indentering. (Tips! Matlabs editor hjälper automatiskt till med indrag. Prova exempelvis att markera ett stycke innehållande en slinga och använd kortkommandot Ctrl+I.) B. Gör nu en ändring så att programmet först frågar hur stort sällskapet är och sedan hälsar var och en i sällskapet välkommen. I Matlab kan alltså for-slingor skrivas som for ii = 1:2:9 Kommandoblock 1; end x = 0 for jj = [9 2 7 pi] Kommandoblock 2; x = x+1; end 20

21 Den vänstra for-slingan kommer att utföra 5 loopvarv och variabeln ii kommer att anta värdena 1, 3, 5, 7 och 9 i respektive varv. För varje varv kommer de Matlab-kommandon som står mellan for och end att utföras (kommandoblock betyder alltså här ett eller flera Matlab-kommandon). Här kan man således utnyttja variabeln ii i beräkningarna och att ii antar olika värden i respektive loop. Försök dock inte tilldela ii något nytt värde i slingan eftersom det påverkar looparna. Den högra for-slingan kommer att utföra 4 loopvarv och variabeln jj kommer att, i tur och ordning anta värdena 9, 2, 7 och 3.14 i respektive varv. Här illustreras också användandet av räknare (variabeln x). Inom programmering och speciellt i for-slingor och while-slingor använder man ofta räknare för att ackumulera summor. Programmeringsmässigt nollställer man summeringsvariabeln innan for-slingan (x = 0). I slingan ökar man sedan på värdet med x = x + 1. Notera att man inte behöver öka räknaren med ett utan man kan öka/minska med vad man vill. Efter det att slingan är färdig så har man sitt slutresultat i x. Raden som ökar på x-variabeln kan te sig lite konstig. I Matlab är det så att högerledet måste gå att evaluera till ett numeriskt värde (alla variabler måste ha numeriska värden). Denna evaluering lagras sedan i variabeln på vänster sida. Det finns alltså ett värde i x (från förra loopen), till det värdet lägger vi till 1 och lagrar resultatet i variabel x (den gamla x skrivs då över). C. Skriv in och kontrollera vad x antar för 3 olika värden om följande 3 rader exekveras i ordning: >> x = 2 x = 2 >> x = x + 1 x = = 3 >> x = x + 4 x = = 7 D. För två hundra år sedan räknade Gauss snabbt ut att summan av alla heltal mellan 1 och 100 blir Hade han verkligen rätt? I matematiska termer så skrivs denna summa som 100 i = i=1 Skriv nu ett program (lab7d.m) som med hjälp av en for-slinga verifierar detta. Börja programmet med att rensa arbetsytan med clear all samt gör både in och utmatning så enkel som möjligt. Verifiera även programmet med funktionen sum(), se vidare help sum. E. Modifiera nu programmet ovan så att det summerar alla heltal mellan 1 och a. I matematiska termer så skrivs denna summa som a i. i=1 Låt programmet stanna och fråga efter a samt gör en prydlig utskrift av indata och resultat. Verifiera programmet för några olika a med kommandot sum(). F. En pythagoreisk trippel är tre positiva heltal x, y och z som uppfyller ekvationen x 2 + y 2 = z 2. Dessa tal uppfyller Pythagoras sats, och motsvaras således av längderna på sidorna i en rätvinklig triangel. Den mest kända trippeln ges av 3, 4 och 5. Det finns även längre likartade mönster än = 5 2, exempelvis att = Verifiera med hjälp av for-slingor att Kontrollera dina resultat med sum() = , =

22 8 if-satser Vill man utföra olika beräkningar eller operationer beroende på olika variablers tillstånd och värden måste man använda if-satser för att styra exekveringen. Låt oss titta på exemplet från 7B ovan. A. Antag att vi inte vill hälsa lika artigt på nummer 3 och 8 samt att vi gärna vill ge nummer 4 en extra komplimang. Modifiera programmet från 7B så att det ser ut som figuren nedan. I for-slingan börjar vi med att kontrollera om det är någon av de tre speciella gästerna 3, 4 eller 8. Detta görs i if-satsen på rad if-satsen börjar med att kontrollera om det är nummer 4 (rad 12), i så fall genereras en lämplig textsträng som lagras i variabeln txt (rad 13-15) och if-satsen avslutas genom att programmet hoppar vidare till rad 21. Om det inte är nummer 4, kontrolleras på rad 16 om det är nummer 3 ELLER (tecknet ) 8. Om så är fallet genereras en lämplig textsträng som lagras i variabeln txt (rad 17-18) och if-satsen avslutas genom att programmet hoppar vidare till rad 21. Om det varken är nummer 3, 4 eller 8 kommer if-satsen till rad 19. Där utförs ingen kontroll utan alla övriga fall kommer hit och vidare till rad 20 där en lämplig textsträng för dessa fall genereras och lagras i variabeln txt. Efter if-satsen skrivs txt-variabeln ut på rad 22. På rad 17 och 18 ser vi även hur man bygger upp en vektor med text. Tillvägagångssättet är likartat som vid användandet av en summerings-variabel. På rad 17 skapas txt-variabeln. På rad 18 tar man innehållet i txt-variabeln och lägger till strängen ' din gamla stofil'. Denna nya sträng lagras sedan i txt-variabeln. Nedan ges exempel på ett par generella if-satser i Matlab. I if-satsen till vänster kontrolleras värdet i variabeln ii. Är värdet exakt 9 utförs kommandoblock 1, annars om värdet är mindre än 9 utförs kommandoblock 2, i alla övriga fall (d v s om värdet är större än 9) utförs kommandoblock 3. 22

23 if ii == 9 Kommandoblock 1; elseif ii < 9 Kommandoblock 2; else Kommandoblock 3; end if ii ~= 9 && jj >= 8 Kommandoblock 4; end if ii ~= 9 jj >= 8 Kommandoblock 5; end I de två if-satserna till höger kontrolleras värdet i både variabeln ii och variabeln jj. Här används även de logiska operationerna NOT ( ), AND (&&) och OR ( ). Notera att dubbla tecken gäller för AND och OR vid jämförelser mellan skalärer. I översta exemplet utförs kommandoblock 4 om ii är skiljt från 9 OCH jj är större eller lika med 8, båda villkoren måste vara uppfyllda. I understa exemplet utförs kommandoblock 5 om ii är skiljt från 9 ELLER jj är större eller lika med 8, det räcker alltså med att ett av villkoren är uppfyllt. Vid komplicerade villkorssatser kan man använda parenteser: if (ii == 9 && jj >= 8) (ii ~= 9 && jj <= 8) Varje delvillkor evalueras till 1 om det är sant och 0 om det är falskt. Sedan sätts de samman med de logiska operatorerna för att se om hela villkorssatsen är sann eller falsk. I tabellen nedan finns även den logiska operatorn xor() som betyder exclusive OR, d v s antingen eller. Indata AND OR XOR NOT P Q P && Q P Q xor(p,q) P B. Skriv ett program som använder respektive if-satser enligt nedan. För vilket eller vilka värden på a blir det olika resultat i de två if-satserna? for a = 1:9 if a < 5 disp(['a = ' num2str(a) ' är mindre än 5.']); elseif a > 5 disp(['a = ' num2str(a) ' är större än 5.']); end end for a = 1:9 if a < 5 disp(['a = ' num2str(a) ' är mindre än 5.']); else disp(['a = ' num2str(a) ' är inte mindre än 5.']); end end C. Skriv ett program som frågar efter ett tal. Programmet skall sedan skriva på skärmen om talet är större, mindre eller exakt 8. 23

24 9 while-slingor while-slingor är slingor som pågår så länge som ett villkor är uppfyllt (ii <= 9 i exemplet nedan). Den programkod som utförs i slingan är den som står mellan while och end. Om villkoret ej är uppfyllt när man kommer till while-slingan första gången kommer man aldrig in i slingan (därför sätts ii till 1 nedan). För att man skall komma ut ur slingan måste man, i slingan, ändra variablerna som ingår i villkoret (ii ökas med 2 varje gång slingan körs nedan). Skulle man fastnat i en slinga och vill avbryta så trycker man på tangenterna Ctrl-C. Detta snabbkommando avbryter även for-slingor. Nedanstående vänstra while-slinga kommer att köras 5 gånger med ii = 1, 3, 5, 7 och 9 medan den högra kommer att köras 4 gånger med ii = 2, 4, 6 och 8. ii = 1 while ii <= 9 Kommandoblock; ii = ii + 2; end ii = 2 while ii <= 9 Kommandoblock; ii = ii + 2; end A. Gör nu uppgift 7E igen fast använd while istället för for. Alltså, skriv ett program som summerar alla tal mellan 1 och a. Låt programmet stanna och fråga efter a samt gör en prydlig utskrift av indata och resultat. B. Skriv ett program som summerar heltal tills dess att summan överstiger ett givet tal s. Programmet ska skriva ut antalet heltal som summerades samt den slutliga summan. Kontrollera resultatet genom att jämföra med uppgift 7D. 24

25 Cody Coursework - övningsuppgifter till slingor, villkor och logik Villkorssatser A Absolutbelopp av ett tal (BP) Skriv ett skript som beräknar absolutbeloppet av ett tal a med hjälp av villkorssatser och spara värdet i variabeln absa. Utgå från den matematiska definitionen { a, a 0, a = a, a < 0. Du ska inte använda den inbyggda Matlab-funktionen abs. B Logaritmen av ett tal Skriv ett skript som beräknar logaritmen av ett tal x och sparar värdet i variabeln logx om talet x är positivt. Om x inte är positivt ska logx tilldelas strängen NotDefined. C Jämförelse av strängar Skriv ett skript som jämför om två strängar med variabelnamn string1 och string2 är lika varandra på två olika sätt. Den första jämförelsen ska vara för hela strängen och resultatet lagras i variabeln string_whole. Den andra jämförelsen ska jämföra strängarna elementvis (detta förutsätter att strängarna är lika långa) och resultatet som är en vektor lagras i variabeln string_bit_by_bit. Tips: använd de inbyggda Matlabfunktionerna strcmp och eq för att göra jämförelserna. D Icke-positiv funktion Skapa en vektor x på intervallet [-1,1] med steglängden 0.1. Skapa sedan en funktion f = x 2 sin(πx). Skapa en ny icke-negativ funktion g som är definierad enligt följande: { f, f 0, g = 0, f < 0. Du kan ta hjälp av den inbyggda Matlab-funktionen find. För att hitta index på de element i f vilka har ett värde som är större än 0 skriver man index = find(f>0). E Beräkna betyg Skriv ett skript som givet poäng på en tenta beräknar betyg. Maxpoäng på tentan är 100 och poängen som krävs för de olika betygsgränserna är E: 50, D: 60. C: 70, B: 80 och A: 90. Poängen antas vara ett heltal lagrat i en variabel poang och betyget ska lagras som en sträng i variabeln resultat, dvs något av A, B, C, D, eller E.Om tentaresultatet är under 50 ska resultatet vara F och för ett värde utanför de möjliga poänggränserna (dvs under 0 eller över 100) ska strängen inget resultat lagras i resultat. F Max och min av en funktion Antag att funktionen T (t) = 0.1(t 2 t + 10) cos( π 12t) beskriver temperaturen i ett system som funktion av tiden i timmar under ett dygn. Skriv ett skript som skapar en vektor t som går mellan 0 och 24 med steget 1, beräknar T och lagrar värdena i variabeln Temp. Skriptet ska sedan ta fram max- och minvärdet i Temp. Resultaten ska lagras i variablerna MaxTemp och MinTemp. Därefter ska skriptet kontrollera nedanstående villkor och skriva ut lämplig information på skärmen. 25

26 Om MaxTemp>30 grader eller MinTemp<-10 grader ska skriptet meddela användaren att det är något allvarligt fel på systemet samt skriva ut värdena på MaxTemp och MinTemp annars ska skriptet meddela användaren att allt är som det ska. Använd kommandot disp för utskrift samt funktionen num2str för att omvandla variablerna MaxTemp och MinTemp till strängar. For- och while-slingor A Modifiera for-slinga: räknare En for-slinga går mellan ett och tio. En räknare p är initialt satt till noll, utanför slingan. För att hålla räkningen på antal varv i slingan, lägg till ett till p för varje varv. B Modifiera for-slinga: antal varv Ändra i for-slingan så att den går från ett till N istället för från ett till tio. Tilldela variabeln N värdet 12 innan for-slingan börjar. C Modifiera while-slinga: villkor (BP) Modifiera villkoret i while-slingan så att satserna utförs om båda villkoren "x är mindre än sexöch "y är större än sju"uppfylls. Tips: för att testa två villkor samtidigt är det smidigt att använda den logiska operationen &&. D Summa med utskrift (BP) Skriv en for-slinga som går mellan i = 1 : 8. Räkna ut 2 i för varje iteration samt addera värdet till en summa. Summan ska sparas i variabeln s. Skriv ut ett meddelande i slutet av programmet som innehåller värdet på s. Använd den inbyggda MATLAB-functionen disp för utskrift. E Summa med utskrift 2 Skapa en nästlad (eng. nested) for-slinga där den första sekvensen ges av talen i=1,3,5,7 och den andra av talen j=2,3,6,7,8.om räknarna i och j antar samma värde, spara värdet på i(=j)i en variabel p, som successivt ökar i storlek. p ska innehålla alla tal som finns i båda sekvenserna. F Enkel summa med räknare (BP) Räknare är användbara programmeringsverktyg, t ex för att hålla ordning på hur många gånger ett kommando har blivit utfört. Skapa en räknare i variabeln r och sätt den till 1. Skriv sedan en for-slinga som för varje varv ökar på räknaren med ett och sedan lägger till värdet på räknaren i en summa. Spara summan i variabeln summa. Slingan ska gå mellan 1 och 10. G Modifiera summa med räknare Modifiera skriptet i föregående uppgift så att det tillkommer ett villkor för räknaren. Skapa en räknare i variabeln r och sätt den till 0. Skriv sedan en for-slinga som ökar på räknaren med ett om variabeln i for-slingan är större eller lika med fem. Lägg till värdet på räknaren i en summa för varje iteration i slingan. Spara summan i variabeln summa. Slingan ska gå mellan 1 och 10. H Triangelnummer (for-slinga) Ett triangelnummer T räknar objekten som kan visas i en likformig triangel, där det n:e triangelnumret har n objekt i basen på triangeln. Figure 2 visar triangeln motsvarande n=3, för vilken T=6. T kan också beskrivas med en summa från 1 till n. Skriv en for-slinga som beräknar triangelnumret för n=7. Värdena ska lagras i variablerna n och T. I Triangelnummer (while-slinga) I förra uppgiften beräknades det n:e triangelnumret T. Nu antar vi istället att triangelnumret är känt och att vi vill räkna ut n. Skriv en while-slinga som beräknar n för triangelnumret T = 120. Värdena ska lagras i variablerna n och T. 26

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

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 Matlab-föreläsning (4), 10 september, 015 Innehåll m-filer (script) - fortsättning från föreläsning 1 In- och utmatning Sekvenser, vektorer och matriser Upprepning med for-slingor (inledning) Matlab-script

Läs mer

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

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från

Läs mer

Introduktion till Matlab

Introduktion till Matlab Introduktion till Matlab Inledande matematik, I1, ht10 1 Inledning Detta är en koncis beskrivning av de viktigaste delarna av Matlab. Till en början är det enkla beräkningar och grafik som intresserar

Läs mer

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. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde: TANA81: Beräkningar med Matlab - Variabler och Matriser - Logiska uttryck och Villkor - Repetitionssatser - Grafik - Funktioner Variabler I Matlab skapas en variabel genom att man anger dess namn och ger

Läs mer

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

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... 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»

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 MVE011-2012/2013 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på de flesta tekniska högskolor

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU 2015/2016 Matematiska vetenskaper Introduktion till Matlab 1 Inledning Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor och universitet runt

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU LABORATION 1 TMV157-2014/2015 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU STUDIO 1 LMA515b - 2016/2017 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på många tekniska högskolor

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara

Läs mer

Funktioner och grafritning i Matlab

Funktioner och grafritning i Matlab CTH/GU LABORATION 3 MVE11-212/213 Matematiska vetenskaper 1 Inledning Funktioner och grafritning i Matlab Först skall vi se lite på (elementära) matematiska funktioner i Matlab, som sinus och cosinus.

Läs mer

Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab CTH/GU 2017/2018 Matematiska vetenskaper Mer om funktioner och grafik i Matlab 1 Inledning Först skall vi se lite på funktioner som redan finns i Matlab, (elementära) matematiska funktioner som sinus och

Läs mer

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

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32) Programmeringsteknik och Matlab Övning Dagens program Övningsgrupp 2 (Sal Q22/E2) Johannes Hjorth hjorth@nada.kth.se Rum 458 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d2

Läs mer

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

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1 M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1 Ove Edlund LTU 2014-11-07 Ove Edlund (LTU) M0043M, M1 2014-11-07 1 / 14 Några elementära funktioner i Matlab Exempel exp Beräknar e

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab Matematiska vetenskaper 2010/2011 Matriser och Inbyggda funktioner i Matlab 1 Inledning Vi skall denna vecka se på matriser och funktioner som är inbyggda i Matlab, dels (elementära) matematiska funktioner

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 1. Vektorer och Matriser 1 Inledning I denna övning skall du träna på att använda Matlab för enklare beräkningar och grafik. För att lösa uppgifterna

Läs mer

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

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB 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

Läs mer

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

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 Matematisk Statistik SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 1 Introduktion Denna laboration är inte poänggivande utan är till för den som vill bekanta sig med MATLAB. Fokusera

Läs mer

Laboration: Grunderna i Matlab

Laboration: Grunderna i Matlab Laboration: Grunderna i Matlab Att arbeta i kommandofönstret och enkel grafik Den här delen av laborationen handlar om hur man arbetar med kommandon direkt i Matlabs kommandofönster. Det kan liknas vid

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Datorlektion 2. Villkor och Repetition 1 Logiska uttryck Uppgift 1.1 Låt a=3 och b=6 Vad blir resultatet av testerna ab? Uppgift 1.2 Låt a, b,

Läs mer

Laborationstillfälle 1 Lite mer om Matlab och matematik

Laborationstillfälle 1 Lite mer om Matlab och matematik Laborationstillfälle Lite mer om Matlab och matematik En första introduktion till Matlab har ni fått under kursen i inledande matematik. Vid behov av repetition kan materialet till de övningar som gjordes

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 2. Linjär Algebra, Villkor och Logik 1 Linjär Algebra Programsystemet Matlab utvecklades ursprungligen för att underlätta beräkningar från linjär

Läs mer

Kort om programmering i Matlab

Kort om programmering i Matlab CTH/GU 25/26 Matematiska vetenskaper Kort om programmering i Matlab Inledning Redan första tillfället gjorde ni ett litet program. Ni skrev ett script eller en skriptfil som beräknade summan 5 i 2 = 2

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 3. Repetitionssatser och Programmering 1 Introduktion Denna övning syftar till att träna programmering med repetitionssatser och villkorssatser. Undvik

Läs mer

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson Introduktion till MATLAB Introduktion till MATLAB sid. 2 av 12 Innehåll 1 Vad är MATLAB? 3 1.1 Textens syfte..................................... 3 2 Grundläggande

Läs mer

Introduktion till Matlab

Introduktion till Matlab CTH/GU 2011/2012 Matematiska vetenskaper 1 Inledning Introduktion till Matlab Version för IT-programmet Matlab är både en interaktiv matematikmiljö och ett programspråk, som används på de flesta tekniska

Läs mer

Matriser och vektorer i Matlab

Matriser och vektorer i Matlab CTH/GU LABORATION 3 TMV206-2013/2014 Matematiska vetenskaper 1 Inledning Matriser och vektorer i Matlab I denna laboration ser vi på hantering och uppbyggnad av matriser samt operationer på matriser En

Läs mer

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

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar KPP053, HT2016 MATLAB, Föreläsning 2 Vektorer Matriser Plotta i 2D Teckensträngar Vektorer För att skapa vektorn x = [ 0 1 1 2 3 5]: >> x = [0 1 1 2 3 5] x = 0 1 1 2 3 5 För att ändra (eller lägga till)

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB Redovisning Lös först uppgifterna i Matlab. Då du har en

Läs mer

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 2 Matriser i MATLAB MMA132: Laboration 2 Matriser i MATLAB Introduktion I den här labben skall vi lära oss hur man använder matriser och vektorer i MATLAB. Det är rekommerad att du ser till att ha laborationshandledningen

Läs mer

En introduktion till MatLab

En introduktion till MatLab Chalmers tekniska högskola En introduktion till MatLab Gustafsson Gabriel gabgus@student.chalmers.se Johansson Việt Simon simoj@student.chalmers.se Författare: Norell Pontus npontus@student.chalmers.se

Läs mer

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

Matlabföreläsningen. Lite mer och lite mindre! Inmatning: Här är lite exempel på inmatning i Matlab: >> pi 3.1416 >> format long >> ans 3.141592653589793 Matlabföreläsningen Lite mer och lite mindre! >> format %återställer format (%- tecknet gör att

Läs mer

MATLAB handbok Introduktion

MATLAB handbok Introduktion Department of Physics Umeå University 30 juni 2014 MATLAB handbok Introduktion Marina Wallin Martin Hansson Per Sundholm 1 INTRODUKTION TILL MATLAB 1 1 Introduktion till Matlab Något man som Teknisk fysiker

Läs mer

Datorövning 1 Fördelningar

Datorövning 1 Fördelningar Lunds tekniska högskola Matematikcentrum Matematisk statistik FMSF20: MATEMATISK STATISTIK, ALLMÄN KURS, 7.5HP FÖR E, HT-15 Datorövning 1 Fördelningar I denna datorövning ska du utforska begreppen sannolikhet

Läs mer

Grafik och Egna funktioner i Matlab

Grafik och Egna funktioner i Matlab Grafik och Egna funktioner i Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1, ht11 Moore: 5.1-5.2 och 6.1.1-6.1.3 1 Inledning Vi fortsätter med läroboken Matlab for Engineers av Holly Moore. Först

Läs mer

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

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2015 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

MATLAB - en kompakt introduktion av Tore Gustafsson

MATLAB - en kompakt introduktion av Tore Gustafsson 6.1.7 1 ÅBO AKADEMI TEKNISKA FAKULTETEN MATLAB - en kompakt introduktion av Tore Gustafsson MATLAB 1 är ett interaktivt programpaket för numeriska beräkningar. Matlab står för matrix laboratory och är

Läs mer

4.3. Programmering i MATLAB

4.3. Programmering i MATLAB 4.3. Programmering i MATLAB MATLAB används ofta interaktivt, dvs ett kommando som man skriver, kommer genast att utföras, och resultatet visas. Men MATLAB kan också utföra kommandon som lagrats i filer,

Läs mer

Matriser och linjära ekvationssystem

Matriser och linjära ekvationssystem Linjär algebra, I1 2011/2012 Matematiska vetenskaper Matriser och linjära ekvationssystem Matriser En matris är som ni vet ett rektangulärt talschema: a 11 a 1n A = a m1 a mn Matrisen ovan har m rader

Läs mer

MATLAB övningar, del1 Inledande Matematik

MATLAB övningar, del1 Inledande Matematik MATLAB övningar, del1 Inledande Matematik Övningarna på de två första sidorna är avsedda att ge Dig en bild av hur miljön ser ut när Du arbetar med MATLAB. På de följande sidorna följer uppgifter som behandlar

Läs mer

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI TEKNISKA HÖGSKOLAN I LINKÖPING Matematiska institutionen Beräkningsmatematik/Fredrik Berntsson Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI Tid: 14-18, 14:e Mars, 2017 Provkod: TEN1 Hjälpmedel:

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning 1 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/37 Denna föreläsning (läsvecka 1) Vad handlar kursen om, mål, kurskrav, ide. Matematisk

Läs mer

MAM283 Introduktion till Matlab

MAM283 Introduktion till Matlab Rum: A3446 E-post: ove.edlund@ltu.se Hemsida: www.math.ltu.se/ jove Översikt: Matlab i MAM283 Några fakta Introduktion till Matlab. Omfattning: 0,4 p En föreläsning och tre datorövningar Examineras genom

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 4. Funktioner 1 Egna Funktioner Uppgift 1.1 En funktion f(x) ges av uttrycket 0, x 0, f(x)= sin(x), 0 < x π 2, 1, x > π 2 a) Skriv en Matlab funktion

Läs mer

Introduktion till MATLAB Föreläsning 1

Introduktion till MATLAB Föreläsning 1 Introduktion till MATLAB Föreläsning 1 FY021G Ingenjörsvetenskap Magnus.Eriksson@miun.se Reviderad 2007-09-23 1 Dagens agenda MATLAB - vad ska det vara bra för? Arrayer, matriser och vektorer Manipulation

Läs mer

Laboration 1: Linjär algebra

Laboration 1: Linjär algebra MALMÖ HÖGSKOLA Centrum för teknikstudier MA119A VT 2010, Yuanji Cheng Viktigt information om labb Vid laborationen gäller följande: 1. Labben görs i grupp av två studenter, och redovisningsuppgifterna

Läs mer

Lab 1, Funktioner, funktionsfiler och grafer.

Lab 1, Funktioner, funktionsfiler och grafer. Lab 1, Funktioner, funktionsfiler och grafer. Starta gärna en dagbok genom att ge kommandot diary lab1. Skriv in alla beräkningar som efterfrågas i uppgifterna i dagboken. Glöm inte diary off om det skrivna

Läs mer

1 Vektorer i koordinatsystem

1 Vektorer i koordinatsystem 1 Vektorer i koordinatsystem Ex 11 Givet ett koordinatsystem i R y a 4 b x Punkten A = (3, ) och ortsvektorn a = (3, ) och punkten B = (5, 1) och ortsvsektorn b = (5, 1) uttrycks på samma sätt, som en

Läs mer

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

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 LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08 Laboration 2: Om väntevärden och fördelningar 1 Syfte I denna laboration skall vi försöka

Läs mer

MMA132: Laboration 1 Introduktion till MATLAB

MMA132: Laboration 1 Introduktion till MATLAB MMA132: Laboration 1 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med kombinationer

Läs mer

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB MAI/Linköpings universitet Fredrik Berntsson Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB Redovisning Lös först uppgifterna i Matlab. Då du har en

Läs mer

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

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson MATLAB En kort praktisk introduktion Olof Hultin olof.hultin@ftf.lth.se Omarbetad efter original av Henrik Persson FAFA10 2014-11-06 Dagens föreläsning K404: Kort introduktion till MATLAB - ca 40 min H212:

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Allmänt om Mathematica

Allmänt om Mathematica 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

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 4 december 2015 Sida 1 / 26 Föreläsning 7 Textsträngar. Formatterade utskrifter. Filhantering. Seminarieuppgiften.

Läs mer

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

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Grunderna i MATLAB stefan@it.uu.se Innehåll Vad är MATLAB? Användningsområden MATLAB-miljön Variabler i MATLAB Funktioner i MATLAB Exempel och smakprov: Grafik Beräkningar Bilder GUI Vad är MATLAB? Utvecklat

Läs mer

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning CTH/GU LABORATION 1 MVE16-1/13 Matematiska vetenskaper 1 Inledning Mer om grafritning Vi fortsätter att arbeta med Matlab i matematikkurserna. Denna laboration är i stor utsträckning en repetition och

Läs mer

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Laboration 1. kompilera-ikonen exekvera-ikonen Programmerade system I1 Syfte Laboration 1. Syftet med denna laboration är dels att göra dej bekant med de verktyg som kan vara aktuella i programmeringsarbetet, dels ge en första inblick i att skriva

Läs mer

MATLAB. Introduktion. Syfte. Tips. Oktober 2009

MATLAB. Introduktion. Syfte. Tips. Oktober 2009 UMEÅ UNIVERSITET Datavetenskap Marie Nordström/Per Lindström Oktober 2009 MATLAB Introduktion MATLAB är en integrerad miljö, med matriser som grundkomponent. Här finns avancerade möjligheter att göra beräkningar

Läs mer

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

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi. Forts. Grunderna i MATLAB eva@it.uu.se Matriser Matrisen är den grundläggande datatypen. En tvådimensionell matris är en tabell med rader och kolonner. En matris med m rader och n kolonner har storleken

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

ATT RITA GRAFER MED KOMMANDOT "PLOT"

ATT RITA GRAFER MED KOMMANDOT PLOT MATLAB, D-plot ATT RITA GRAFER MED KOMMANDOT "PLOT" Syntax: Vi börjar med det enklaste plot-kommandot i matlab,,där x är en vektor x- värden och y en vektor med LIKA MÅNGA motsvarande y-värden. Anta att

Läs mer

Programmering i Matlab

Programmering i Matlab CTH/GU 2/22 Matematiska vetenskaper Inledning Programmering i Matlab Redan i den första introduktionen var det ett par enkla programmeringsexempel. Ni skrev ett script eller skriptfil som beräknade summan

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare Karlstads universitet 19-0 april Exempel på elevaktiviteter framtagna i skolutvecklingsprojektet IKT och lärande i matematik 1

Läs mer

Linjära ekvationssystem i Matlab

Linjära ekvationssystem i Matlab CTH/GU LABORATION 2 MVE11-212/213 Matematiska vetenskaper Linjära ekvationssystem i Matlab 1 Inledning Först skall vi se lite på matriser, vilket är den grundläggande datatypen i Matlab, sedan skall vi

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB Introduktion till MATLAB Om laborationen Övningarna går ut på att bekanta sig med MATLAB och se hur man löser olika typer av problem. Arbetet är självständigt. Hoppa över sådant ni tycker verkar för lätt

Läs mer

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

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS Matematik 3 Digitala övningar med TI-8 Stats, TI-84 Plus och TI-Nspire CAS Matematik 3 digitala övningar med TI-8 Stat, TI-84 Plus och TI Nspire CAS Vi ger här korta instruktioner där man med fördel kan

Läs mer

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

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1 Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str=

Läs mer

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

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!) SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!) Denna labb är tänkt att öva datorhantering och öva inledande Matlab. Eftersom förkunskaperna varierar finns

Läs mer

TAIU07 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab TAIU07 Matematiska beräkningar med Matlab Laboration 3. Linjär algebra Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion 2 En Komet Kometer rör sig enligt ellipsformade

Läs mer

Parametriserade kurvor

Parametriserade kurvor CTH/GU LABORATION 4 TMV37-4/5 Matematiska vetenskaper Inledning Parametriserade kurvor Vi skall se hur man ritar parametriserade kurvor i planet samt hur man ritar tangenter och normaler i punkter längs

Läs mer

Grafritning och Matriser

Grafritning och Matriser Grafritning och Matriser Analys och Linjär Algebra, del B, K1/Kf1/Bt1, ht11 1 Inledning Vi fortsätter under läsperiod och 3 att arbete med Matlab i matematikkurserna Dessutom kommer vi göra projektuppgifter

Läs mer

MMA132: Laboration 1 & 2 Introduktion till MATLAB

MMA132: Laboration 1 & 2 Introduktion till MATLAB MMA132: Laboration 1 & 2 Introduktion till MATLAB De flesta numeriska metoder låter oss få en tillräckligt bra lösning på ett matematiskt problem genom att byta ut komplexa matematiska operationer med

Läs mer

Mer om linjära ekvationssystem

Mer om linjära ekvationssystem CTH/GU LABORATION 2 TMV141-212/213 Matematiska vetenskaper 1 Inledning Mer om linjära ekvationssystem Denna laboration fortsätter med linjära ekvationssystem och matriser Vi ser på hantering och uppbyggnad

Läs mer

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

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Lösningar till Matematik 3000 Komvux Kurs D, MA1204. Senaste uppdatering Dennis Jonsson

Lösningar till Matematik 3000 Komvux Kurs D, MA1204. Senaste uppdatering Dennis Jonsson , MA104 Senaste uppdatering 009 04 03 Dennis Jonsson Lösningar till Matematik 3000 Komvu Kurs D, MA104 Fler lösningar kommer fortlöpande. Innehåll 110... 6 111... 6 11... 6 1130... 7 1141... 7 114... 8

Läs mer

KALKYL OCH DIAGRAM. Kalkylbladet. 170 Datorkunskap Kalkyl och diagram

KALKYL OCH DIAGRAM. Kalkylbladet. 170 Datorkunskap Kalkyl och diagram 170 Datorkunskap Kalkyl och diagram KALKYL OCH DIAGRAM När du behöver göra beräkningar, diagram eller sammanställa större mängder data använder du Excel. Kalkylbladet Ett Excel-dokument kallas även för

Läs mer

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

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter Inledande matematik för I1 MVE011 läsperiod 1 010 Matlab vecka övningsuppgifter Linjära ekvationssystem Matlab har många kraftfulla redskap för att hantera matriser och därmed också linjära ekvationssystem.

Läs mer

For-sats/slinga. Notis

For-sats/slinga. Notis Notis I koden för exemplen förekommer kommentarer. Kommentarer i Matlabkoden identieras med prexet %. Kommentarer är text/kod som Matlab bortse från. Alltså all text/kod som ligger till höger och på samma

Läs mer

Du kan söka hjälp efter innehåll eller efter namn

Du kan söka hjälp efter innehåll eller efter namn Du kan söka hjälp efter innehåll eller efter namn Skalärer x = 2 y = 1.234 pi, inf Ex: Skriver du >> x+100*pi Så blir svaret ans = 316.1593 (observera decimalpunkt.) Vektorer v = [1 2 3 4] radvektor u

Läs mer

Undersökande arbetssätt i matematik 1 och 2

Undersökande arbetssätt i matematik 1 och 2 Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg Del 6: Undersökande arbetssätt med matematisk programvara Undersökande arbetssätt i matematik 1 och 2 I texten Undersökande arbetssätt

Läs mer

Kvalificeringstävling den 30 september 2008

Kvalificeringstävling den 30 september 2008 SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Kvalificeringstävling den 30 september 2008 Förslag till lösningar Problem 1 Tre rader med tal är skrivna på ett papper Varje rad innehåller tre

Läs mer

Vad är MATLAB? Användningsområden. Var kan man köra MATLAB? MATLAB-miljön: avsluta. MATLAB-miljön: Start. Informationsteknologi. Grunderna i 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 Vad är MATLAB? Grunderna i MATLAB stefan@it.uu.se Utvecklat av MathWorks, Inc. http://www.mathworks.com Ursprungligen MATrix LABoratory. Första versionen klar i slutet av 70-talet Matematisk labbmiljö

Läs mer

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

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1. OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1. Laboration 0 del 1-3 (frivilliga delar) Del 1-3 (dvs upg

Läs mer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning 1 Magnus Oskarsson Matematikcentrum Lunds Universitet Matematisk Modellering p.1/34 Denna föreläsning (läsvecka 1) Vad handlar kursen om, mål, kurskrav, ide. Matematisk

Läs mer

Kapitel 4. Programmet MATLAB

Kapitel 4. Programmet MATLAB Kapitel 4. Programmet MATLAB MATLAB (namnet härlett ur MATrix LABoratory) är ett matematikprogram baserat på matrisalgebra, som blivit mycket använt för fysikaliska och tekniska tillämpningar. Den ursprungliga

Läs mer

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

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Matematisk Modellering

Matematisk Modellering Matematisk Modellering Föreläsning läsvecka 3 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/39 Denna föreläsning (läsvecka 3) Matematisk modellering - fördjupning Modelleringsexempel

Läs mer

Uppgiftshäfte Matteproppen

Uppgiftshäfte Matteproppen Uppgiftshäfte Matteproppen Emma ndersson 0 Joar Lind 0 Sara Lundsten 05 Malin Forsberg 06 UPPSL UNIVERSITET Innehåll Uppdelning av häfte Uppgifter Block. Bråkräkning........................ Uttryck..........................

Läs mer

Approximation av funktioner

Approximation av funktioner Vetenskapliga beräkningar III 8 Kapitel Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner I allmänhet kan inte ens elementära funktioner

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA 5 LINJÄR ALGEBRA 5 Linjär algebra En kul gren av matematiken som inte fått speciellt mycket utrymme i gymnasiet men som har många tillämpningsområden inom t.ex. fysik, logistik, ekonomi, samhällsplanering

Läs mer

Trigonometri. Sidor i boken 26-34

Trigonometri. Sidor i boken 26-34 Sidor i boken 6-34 Trigonometri Definition: Gren av matematiken som studerar samband mellan vinklar och sträckor i planet (och rymden). Det grundläggande trigonometriska problemet är att beräkna alla sidor

Läs mer