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

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

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

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

TANA17 Matematiska beräkningar med Matlab

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

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

TSBB14 Laboration: Intro till Matlab 1D

Matriser och vektorer i Matlab

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

TAIU07 Matematiska beräkningar med Matlab

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

Introduktion till MATLAB

TAIU07 Matematiska beräkningar med Matlab

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

Linjär algebra med tillämpningar, lab 1

Beräkningsvetenskap föreläsning 2

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

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

Matriser och linjära ekvationssystem

TANA17 Matematiska beräkningar med Matlab

Linjära ekvationssystem i Matlab

linjära ekvationssystem.

TANA17 Matematiska beräkningar med Matlab

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

MAM283 Introduktion till Matlab

Matriser och vektorer i Matlab

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

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

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

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

TANA17 Matematiska beräkningar med Matlab

2 februari 2016 Sida 1 / 23

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

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

Linjära ekvationssystem

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Mer om funktioner och grafik i Matlab

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

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

Instruktion för laboration 1

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

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

TAIU07 Matematiska beräkningar med Matlab

Laboration 1: Linjär algebra

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

Mer om funktioner och grafik i Matlab

Mer om linjära ekvationssystem

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

MMA132: Laboration 2 Matriser i MATLAB

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

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

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

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

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

Välkomna till Numme och MATLAB, 9 hp, för Materialdesign och Energi&Miljö, årskurs 2

Instruktion för laboration 1

Introduktion till Matlab

Laboration: Vektorer och matriser

Kursinformation Grundkurs i programmering med Python

TAIU07 Matematiska beräkningar med Matlab

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

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

Beräkningsverktyg HT07

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

Introduktion till Matlab

Subtraktion. Räkneregler

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

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

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

Introduktion till Matlab

Lab 1, Funktioner, funktionsfiler och grafer.

Matematik: Beräkningsmatematik (91-97,5 hp)

jsp?d=&a=827474&sb2231i0=1_

Matriser och Inbyggda funktioner i Matlab

a = a a a a a a ± ± ± ±500

Laboration: Grunderna i Matlab

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

Matematisk Modellering

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

Linjär Algebra M/TD Läsvecka 2

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

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

Introduktion & MATLABrepetition. (Kap. 1 2 i MATLAB Programming for Engineers, S. Chapman)

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

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

Matriser och Inbyggda funktioner i Matlab

Matematisk Modellering

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

Börja programmera. Kapitel 4 i kompendiet Jämförande uttryck Villkorssatser Loopar (slingor) Funktioner. Läs inte avsnitt 4.2.3

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

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

Objektorienterad programmering Föreläsning 4

TANA81: Simuleringar med Matlab

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

1 Grundläggande kalkyler med vektorer och matriser

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

Laboration: Grunderna i MATLAB

Matematiska beräkningar med MATLAB

Lektion 1 Introduktion till DrJava och Java

Transkript:

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

TANA17 Kursmål och Innehåll Målet med kursen är att Ge grundläggande färdighet i att använda MATLAB för att lösa beräkningsuppgifter samt visualisera beräkningsresultat. Introducera programmering, exempelvis villkors- eller repetitionssatser, och ge övning i att skriva MATLAB program. Ge exempel på problem från tillämpningar där MATLAB kan användas för att hitta en lösning. 27 oktober 2015 Sida 2 / 31

TANA17 Organisation I kursen ingår följande moment: Föreläsningar Presentation av teori och exempel. Lektioner Eget arbete med uppgifter i datorsal. Förberedelse för tentamen. Laborationer Obligatoriska lite större uppgifter. Seminarie Större uppgift med rapportskrivning och opposition. Gruppindelning för laborationer Två studenter i varje grupp. Listor finns på första lektionen. Måste vara klart till första laborationsstillfället. Lärare på kursen är Fredrik Berntsson, Samira Nikkar, Markus Wahlsten, Ingerd Skoglund, Viktor Linders. Hittar oss i Hus B. Ing 23-25. 2:a vån. 27 oktober 2015 Sida 3 / 31

TANA17 Examination För att bli godkänd på kursen krävs Laborationer Totalt fyra laborationer att lösa och redovisa skriftligt. Seminarie uppgift En lite större uppgift presenteras skriftligt. En rapport skall skrivas. Opposition Muntlig opposition på annan grupps skriftliga rapport. Tenta Både teoretiska och praktiska uppgifter. Löses i datorsal. Tips Turas om att skriva på lektionerna. Det är mycket enklare att titta på när någon anna skriver. Även om man förstår måste man kunna många kommandon utantil för att kunna lösa uppgifter effektivt. 27 oktober 2015 Sida 4 / 31

TANA17 Kurslitteratur P Jönsson, MATLAB beräkningar inom teknik och naturvetenskap, tredje upplagan, Studentlitteratur Boken innehåller Grundläggande programmering i MATLAB. Genomgång av MATLAB funktioner för lösning av specifika problem. Exempelvis Interpolation eller ekvationslösning. Mycket material! Lektioner och Laborationer Häften med uppgifter finns på kurshemsidan. 27 oktober 2015 Sida 5 / 31

Föreläsning 1 Variabler, Aritmetriska operationer. Prioritet. Vektorer och Matriser. Matrisoperationer. Att skapa och sätta samman matriser. Index och kolonnotation. Enkla utskrifter med disp. 27 oktober 2015 Sida 6 / 31

Variabler I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde >> x=3.67 x = 3.6700 Variabeln kan sedan användas i beräkningar >> y=log(1+x)/sin(x) y = -3.0569 27 oktober 2015 Sida 7 / 31

Exempel Beräkna uttrycket I Matlab y = 1+e1+x 1+ 3. >> y=( 1+exp(1+x) )/( 1+sqrt(3) ); Används ; fås ingen utskrift av beräkningsresultatet. Istället disp(y). 27 oktober 2015 Sida 8 / 31

Variabel namn Tillåtna tecken är bokstäver, siffror, och _. Måste börja med en bokstav. MATLAB skiljer på stora och små bokstäver. Tips: Bra valda variabelnamn gör program lätta att förstå! Exempel Variablerna i, j, k, n, m innehåller heltalsvärden medans variablerna x, y, z innehåller reella värden. Ofta bra med långa beskrivande namn. 27 oktober 2015 Sida 9 / 31

Aritmetriska operationer och standardfunktioner I MATLAB finns de aritmertiska operationerna + - * / \ och ^ definierade. Exempel Vad blir resultatet då följande uttryck beräknas: >> x=2.0; y=-1.2; >> z=x+y-3*x^2; För att kunna tolka uttryck behöver vi känna till prioritetsordningen. Först ^, sedan * \ / och sist + -. Vid lika prioritet beräknas uttryck från vänster till höger. 27 oktober 2015 Sida 10 / 31

Exempel Vad blir värdet av >> x=3.0; y=1/2*x^2/3*2 För att förtydliga hur uttrycket skall beräknas man parenteser användas. 27 oktober 2015 Sida 11 / 31

I MATLAB finns ett flertal standardfunktioner implementerade. Tillexempel finns sqrt, sin, cos, exp, log, atan,... Exempel Beräknaπ genom >> Pi = 4*atan(1) Pi = 3.1416 För att se flera decimaler kan man ändra utskriftsformat: >> format long, Pi, format short Pi = 3.141592653589793 Alla variabler sparas med ungefär 15 decimalers noggranhet. 27 oktober 2015 Sida 12 / 31

Exempel Låt x = 10 5 och beräkna y 1 = 1 cos(x) sin 2, och y 2 = (x) 1 1+cos(x). Verifiera att bägge uttrycken ger samma värde. I Matlab >> x=10^-5; y1=(1-cos(x))/sin(x)^2; >> y2=1/(1+cos(x)) y2 = 0.5000 >> abs( y1 - y2 ) ans = 4.1374e-08 Funktionen abs beräknar absolut beloppet av ett tal. Oftast gör beräkningsfel att två tal ej blir exakt lika. 27 oktober 2015 Sida 13 / 31

Vektorer och Matriser Exempel En 2 3matris innehåller värdena ( ) a11 a A = 12 a 13 = a 21 a 22 a 23 ( 1 3 7 4 2 1 ). I Matlab skapas matrisen med kommandot >> A = [ 1, 3, 7 ; 4-2 1 ]; Tecknet ; betyder ny rad och, nytt element. Behöver ej, annat än för tydlighet. 27 oktober 2015 Sida 14 / 31

På samma sätt skapas en 1 3 vektor >> x = [ 1 2 4 ]; eller en 3 1 vektor >> y = [ 1 ; 2 ; 4 ]; Operationen betyder transponat av en matris eller vektor. Vi får alltså att >> x - y ans = 0 0 0 27 oktober 2015 Sida 15 / 31

Matrisoperationer För matriser och vektorer finns operationerna + - * / \ och ^ definierade. Dessa följer de vanliga matematiska räknereglerna. Exempel Beräkna en produkt A*x genom >> A = [ 1, 3, 7 ; 4-2 1 ; 3 1-4]; >> x = [ 1 ; 2 ; 4 ]; >> b = A*x b = 35 4-11 Vid matrisberäkningar måste dimensionerna passa. Exempel är att ^ kräver kvadratiska matriser. 27 oktober 2015 Sida 16 / 31

Exempel Skapar vi tre matriser så kan vi beräkna >> A=[ 1 2-1 ; 2-3 1]; >> B=[ 2-1 ; -1 1 ; 0 3]; >> C=[ -1 2 ; 0 1 ]; >> D = A*B+C D = -1 0 7-1 27 oktober 2015 Sida 17 / 31

Division mellan matriser skall tolkas som att A/B betyder AB 1 och A\B betyder A 1 B. Exempel Skriv in matriserna ( ) 2 1 A =, och B = 4 2 Beräkna A 1 B, BA 1 och A 1 A. I Matlab ( 1 2 2 4 ). >> A=[2 1 ; 4-2 ]; B=[ 1-2 ; 2 4]; >> C1 = A\B; C2 = B/A; D = A\A D = 1 0 0 1 Skillnadsmatrisen C1-C2 blir noll-skiljd alltså är A 1 B BA 1. 27 oktober 2015 Sida 18 / 31

Att skapa större matriser Funktionerna zeros, ones, och rand kan användas för att skapa martiser av godtycklig storlek fylla med nollor, ettor, eller slumptal. Funktionen eye ger en enhetsmatris. Exempel Skapa en 20 2 matris med slumptal och beräkna summan av elementen i varje kolumn. I MATLAB skriver vi >> A=rand( 20, 2); B=ones(1,20); >> S = B*A S = 12.8407 9.8512 27 oktober 2015 Sida 19 / 31

Vi kan sätta samman två matriser till en större. Förutsatt att dimensionerna stämmer. Exempel Skriver vi >> A=zeros(2,2); B=ones(2,3); C=2*ones(1,5); >> D=[ A, B ; C ]; så blir resultatet en 3 5 matris. 27 oktober 2015 Sida 20 / 31

Exempel Bilda en 7 7 matris som består av en 5 5 enhetsmatris i mitten och ettor på kanten. 27 oktober 2015 Sida 21 / 31

Funktionen diag skapar en diagonal matris med givna element som sparats i en vektor. I Matlab >> d = [ 1 3-2] ; >> D = diag(d) D = 1 0 0 0 3 0 0 0-2 Exempel Bilda en 4 4 matris med följande utseende 1 0 0 2 A = 0 2 0 2 0 0 5 2. 1 1 1 2 27 oktober 2015 Sida 22 / 31

Praktiska funktioner Funktionen size talar om hur stor en matris är. För vektorer finns length. Exempel Kontrollera att resultatet efter en matris produkt för rätt storlek. >> A = rand(5,3); >> B = ones(4,5); >> C = B*A; >> [n,m]=size(c) ger n = 4 och m = 3. 27 oktober 2015 Sida 23 / 31

Matriselement och Index För att manipulera enskiljda element i en matris anger man dess index. Exempel Antag att vi har en 2 3 matris A. Elementet a 23 skrivs ut till skärmen genom: >> A = [ 1 2 3 ; 2 3 4 ]; >> disp( A(2,3) ) Man kan ändra elementet a 12 genom att skriva >> A(1,2)=5; 27 oktober 2015 Sida 24 / 31

För att skriva ut en hel rad används : notation >> disp( A(2,:) ) Hela rader eller kolumner kan även ingå i tilldelningssatser. Skriv >> [n,m]=size(a); >> A(2,:) = ones(1,m); så byts hela raden ut mot ettor. Dimensionerna måste stämma. Exempel Addera första raden i en matris till den tredje raden. 27 oktober 2015 Sida 25 / 31

Exempel Vi kan titta på flera index samtidigt i en vektor. I Matlab >> x = [ 1 2 3 4 5 6 ]; >> y = x( [1 5 2 ] ) y = 1 5 2 Vi får alltså en vektor y = (x 1, x 5, x 2 ). Detta är ofta användbart. 27 oktober 2015 Sida 26 / 31

Exempel Låt A vara en matris. Vi vill byta plats på raderna med index 2 och 3. I Matlab >> A = [ 1 3-2 ; 0 2 3 ; 4-1 5] A = 1 3-2 0 2 3 4-1 5 >> A([2 3],:) = A([3 2],:) A = 1 3-2 4-1 5 0 2 3 27 oktober 2015 Sida 27 / 31

Utmatning till skärmen Funktionen disp gör utskrifter till skärmen. Exempel Vi har beräknat ett funktionsvärde y(x) och vill skriva ut värdet. I Matlab >> x = 3; y = exp(-2*x); >> disp( y ); 0.0025 Vi kan även skriva ut korta texter. Skriv >> disp( Vi har beräknat y(x) ); Vi har beräknat y(x) Tecknet kallas sträng parentes och används för att påbörja respektive avsluta text. 27 oktober 2015 Sida 28 / 31

Exempel En text sträng kan ses som en radvektor där varje element är ett tecken. Vi kan sätta sammamn strängar på samma sätt som vanliga vektorer. I Matlab >> str1= Jag heter ; >> str2= Fredrik ; >> str = [ str1, str2 ] str = Jag heter Fredrik >> disp( str ); Jag heter Fredrik 27 oktober 2015 Sida 29 / 31

En funktion num2str omvandlar siffer värden till text. Då kan vi kombinera text med beräknade värden i utskrifterna. Exempel Vi har beräknat ett heltal k och vill göra en utskrift av typen Vi har k=3 Detta åstakomms med Matlab raden >> disp( [ Vi har k=,num2str(k) ] ) 27 oktober 2015 Sida 30 / 31

Exempel Vi vill använda Matlab för att skriva ut texten sin(2.3)=0.7457 Hur skall vi göra? 27 oktober 2015 Sida 31 / 31