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

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

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

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

Introduktion till MATLAB

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

Laboration: Grunderna i Matlab

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab

Introduktion till Matlab

Introduktion till Matlab

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

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

TANA17 Matematiska beräkningar med Matlab

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

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

TSBB14 Laboration: Intro till Matlab 1D

Laboration: Grunderna i MATLAB

Introduktion till Matlab

Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Beräkningsvetenskap föreläsning 2

Introduktion till Matlab

Funktioner och grafritning i Matlab

Instruktion för laboration 1

Mer om funktioner och grafik i Matlab

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

Introduktion till Matlab

Introduktion till Matlab

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

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

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

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

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

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

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

Kort om programmering i Matlab

Matriser och vektorer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Datorövning 1: Introduktion till MATLAB

Laboration: Vektorer och matriser

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

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

Matlabövning 1 Funktioner och grafer i Matlab

Mer om funktioner och grafik i Matlab

Funktioner och grafritning i Matlab

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

TANA17 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

Instruktion för laboration 1

Introduktion till Matlab

Matriser. Vektorer. Grunderna i MATLAB 2. Informationsteknologi. Informationsteknologi.

Introduktion till Matlab

Linjär algebra med tillämpningar, lab 1

En introduktion till MatLab

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

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

Matriser och vektorer i Matlab

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

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

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

4.3. Programmering i MATLAB

TANA17 Matematiska beräkningar med Matlab

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

MAM283 Introduktion till Matlab

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

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

2 februari 2016 Sida 1 / 23

Matriser och linjära ekvationssystem

MMA132: Laboration 2 Matriser i MATLAB

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

Linjär algebra med MATLAB

TANA81: Simuleringar med Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Introduktion till Matlab

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

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

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

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

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

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

Programmering i Matlab

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

tal. Mängden av alla trippel av reella tal betecknas med R 3 och x 1 x 2 En sekvens av n reella tal betecknas med (x 1, x 2,, x n ) eller

TANA17 Matematiska beräkningar med Matlab

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

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Introduktion till Matlab

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

Mer om geometriska transformationer

TAIU07 Matematiska beräkningar med Matlab

MMA132: Laboration 1 Introduktion till MATLAB

Linjär Algebra, Föreläsning 2

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander)

Laboration 1: Linjär algebra

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

DD1314 Programmeringsteknik

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

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

Transkript:

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 I många fall vill man köra en hel sekvens med kommandon eller beräkningar. Då är det lämpligt att använda ett så kallat Matlab-script (eller m-fil eller Matlab-program). En m-fil är en textfil som innehåller ett antal Matlab-kommandon i den ordning de ska utföras (exekveras). Filen sparar man med filändelsen.m. m-filer skriver man enklast i Matlabs texteditor. Man kör programmet genom att skriva namnet (utan.m) i Matlabs kommandofönster eller genom att trycka på knappen Run i editorn. När man skriver ett Matlab-program är det viktigt att man i programmet skriver kommentarer som berättar vad programmet gör. En kommentar börjar med ett %-tecken. In- och utmatning på/från skärmen (kommandofönstret) Om man vill skriva ut ett resultat på skärmen kan man använda kommandot disp. Om variabeln text= hej skriver man disp(text). Alternativt kan man skriva disp( hej ). Vill man utöka utskriften med ett siffervärde som finns lagrat i en variabel använder man kommandot numstr (num-to-string) för att omvandla värdet till en sträng. Man kan även läsa in värden på variabler från kommandofönstret. Kommandot input används för detta. Exempel på disp och input kommer att finnas i lösningen till Uppgift 1. Uppgift 1 - programmet, Uppg.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln F d = C d ρv A där C d är luftmotståndskoefficienten (bestäms vanligtvis genom experiment), ρ är luftens densitet, v är objektets hastighet och A är referensarean hos objektet över vilken luften strömmar. Antag att vi uppmätt följande data i en vindtunnel: F d = 0000 N, ρ = 1 10 kg/m, v = 50 m/s, A = 1 m 1

A. Skriv ett Matlab-program som beräknar luftmotståndskoefficienten samt skriver ut dess värde på skärmen. B. Beräkna luftmotståndet hos samma objekt när det rör sig med 5 m/s och 100 m/s. Läs in värdet på hastigheten från Matlabs kommandofönster. Uppgift - provuppgift Varför fungerar inte följande program att köra i Matlab clear all % Det här programmet räknar ut medeltemperaturen för två dagar i juli dag1=1; Dag=10; medel=0.5(dag1+dag); disp(['medeltemperaturen= ' numstr(medel) ' grader']) Vektorer och matriser Fram till nu har vi arbetat med variabler som har varit skalärer eller textsträngar. Man kan även arbeta med variabler är vektorer. Vektorer skapas i Matlab på följande sätt >>v=[,,9] >>u=[1;0;7] v = u = 9 1 0 7 Matlab skiljer på rad och kolonnvektorer. Enskilda element i en vektor refereras till på följande sätt >>a=v(1) >>b=v(:) >>c=u() >>d=u(1:) a = b = c = d = 9 0 1 0 Addition och subtraktion av två vektorer skrivs som vanligt med tecknen + eller -. Om du vill multiplicera en vektor med en skalär, v, skriver du *v. Det finns även andra funktioner i Matlab som opererar på vektorer. Skalärprodukten mellan två vektorer, v u, kan beräknas med funktionen dot(u,v). Vektorprodukten (kryssprodukten) mellan två vektorer beräknas med funktionen cross(u,v). Man kan också enkelt beräkna längden av en vektor, v, med kommandon norm(v).

Uppgift Skapa följande vektorer i Matlab u = 1 v = w = 4 4 I det fall de går, beräkna A. u + v B. 5u + 10w C. u v, v w, u u, u v w D. längden av vektorerna u och w E. vektorprodukten mellan u och v F. u v utan att använda dot G. längden av v utan att använda norm Matriser En matris, skapas i Matlab på följande sätt 1 A = 4 5 7 8 9 >>A=[1 ;4 5 ; 7 8 9] A = 1 4 5 7 8 9 Enskilda element, rader och kolonner i A refereras till på följande sätt (första index refererar till rad och andra index till kolonn) >>c=a(1,) >>b=a(:,) >>d=a(1,:)

c = b = d = 1 9 Beteckningen (:) representerar antingen en hel rad eller en hel kolonn. Man kan lika gärna skriva >>b=a(1:,) >>d=a(1,1:) b = d = 1 9 Man kan också skapa delmatriser av en större matris, >>B=A([1 ],[ ]) >>C=A([ ],[1 ]) A = C = 4 5 7 9 eller sätta ihop två matriser A och B, i Matlab, horisontellt med [A B] om antalet rader i de två matriserna är samma eller vertikalt med [A; B] om antal kolonner är samma. Uppgift 4 Skriv in följande matriser och vektor i Matlab 1 8 A = 5 0 1 11 9 B = 5 c = 0 8 9 5 0 1 A. Låt 1:a och 4:a raden i A byta plats. Byt sedan plats på :a och :e kolonnen. B. Utöka matrisen B med kolonnvektorn c och sätt sedan ihop den utökade matrisen med matrisen A. 4

Uppgift 5 Skapa följande kolonnvektorer i Matlab 1 9 c 1 = c = 4 c = 8 7 och använd dessa för att skapa matrisen C = [c 1 c c ]. Uppgift Skapa följande matris 1 4 A = 5 7 8 9 0 1 4 5 och bilda sedan de -delmatriserna A ij, i = 1, och j = 1, som ges av [ ] A11 A A = 1 A 1 A genom att ta ut lämpliga delar av matrisen A. Försök sedan återskapa A med hjälp av delmatriserna A 11, A 1, A 1 och A. Uppgift 7 - provuppgift Vad blir värdet på variabeln resultat när nedanstående rader körs i Matlab? veka=[1,,, 4]; vekb=[-1, 0, 10,, ]; resultat=veka(1:)+*vekb(4:5) Uppgift 8 - provuppgift En matris A är definierad i enligt >>A=[1 ;4 5 ; 7 8 9] A = 1 4 5 7 8 9 Hur kommer matrisen E att se ut efter följande kommandon B=A(1:,); C=A(,:); D=[C, A(1)]; E=[A,B;D] 5

Sekvenser Man kan även se en vektor som en sekvens av skalärer. En sekvens kan exempelvis användas för att göra funktionstabeller. För att skapa en variabel a som innehåller alla heltal från 0-10 kan vi skriva a=[0:1:10]. Ett annat användbart kommando är linspace. Gör help linspace för att ta reda på hur det fungerar. Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska regler i Matlab. Ibland kan det hända att man vill utföra ovanstående operationer på varje element för sig i en vektor. Antag att vi för värdena x = 1,,, 4 och 5 vill beräkna x dvs 1,,, 4 och 5. Om vi i Matlab skapar en vektor x=[1,,, 4, 5] och skriver xˆ så kommer vi få ett felmeddelande som säger att operationen inte är definierad. Varför? För att kunna hantera komponentvisa operationer för multiplikation, divison och upphöjt till har man infört tre nya operationer i Matlab. (.*) för multiplikation, (./) för division, och (.ˆ) för upphöjt till. Matlabs inbyggda funktioner som sin och exp osv opererar elementvis på vektorer (och matriser). Grafisk representation av data För att rita upp grafer använder man kommandot plot(x,y) där x och y är två vektorer av samma dimension som innehåller de värden som ska plottas. Med kommandot title ger man grafen en titel (exempelvis title( Min graf ) ) och med kommandona xlabel och ylabel döper man axlarna i grafen. Uppgift 9 - provuppgift Låt x1=[1, 1,, 4], x=[, -1,, 1] och x=[-, -1, 0, 1, ]. Vad blir resultatet av följande uttryck A. x1.*x1 B. x1./x C. x1.ˆ D. x1.*x E. x1.ˆx F. x.*x

Uppgift 10 Skriv ett Matlab-program som ritar upp funktionerna y1 = sin(4x) 0.5x och y = e x 1 på intervallet x = [0, ]. Lägg in en förklaring till grafen med hjälp av en titel och text på axlarna. Uppgift 11 Utöka programmet i Uppgift 1 så att det beräknar luftmotståndet hos objektet för hastigheterna v = 10, 0, 0, 40, 50, 100 m/s. Programmet ska även plotta luftmotståndet som funktion av hastigheten. Upprepning Ibland vill man utföra samma beräkning eller ett antal satser flera gånger. Detta kan göras på olika sätt beroende på vad som styr hur många gånger satserna ska upprepas. Ett sätt är att använda en så kallad for-slinga. Denna använder man om man på förhand vet hur många gången en viss sats ska utföras. Generellt så skriver man en for-slinga på följande sätt for ii=1:slut satserna som skall utföras end I definitionen av for-slingan specificeras att variabeln ii ska börja på värdet 1 och anta alla heltal från 1 till slut. För varje värde på ii utförs satserna som är specificerade i slingan. En for-slinga avslutas alltid med end. Som exempel skriver följande rader ut värdet på en variabel tal på skärmen 5 gånger. Värdet på tal kommer att ges av variabeln ii. Vilka tal kommer vi att se på skärmen? for ii=1:5 tal=ii end 7