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

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

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

TANA17 Matematiska beräkningar med Matlab

TAIU07 Matematiska beräkningar med Matlab

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

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

TSBB14 Laboration: Intro till Matlab 1D

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

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

TAIU07 Matematiska beräkningar med Matlab

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

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

Matriser och linjära ekvationssystem

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 för M, DPU. Fredrik Berntsson, Linköpings Universitet. 8 december 2015 Sida 1 / 22

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

Introduktion till MATLAB

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

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

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

Matriser och vektorer i 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

2 februari 2016 Sida 1 / 23

TANA17 Matematiska beräkningar med Matlab

Linjär algebra med tillämpningar, lab 1

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

MAM283 Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

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

Mer om funktioner och grafik i Matlab

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

Beräkningsvetenskap föreläsning 2

TANA81: Simuleringar med Matlab

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

Mer om funktioner och grafik i 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

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

Laboration: Grunderna i Matlab

linjära ekvationssystem.

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

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

TAIU07 Matematiska beräkningar med Matlab

Beräkningsverktyg HT07

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

Linjära ekvationssystem i Matlab

Lab 1, Funktioner, funktionsfiler och grafer.

MMA132: Laboration 2 Matriser i MATLAB

Matematisk Modellering

TANA17 Matematiska beräkningar med Matlab

Matriser och vektorer i Matlab

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

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

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

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

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

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

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

TANA17 Matematiska beräkningar med Matlab

Datorövning 1 Fördelningar

Laboration 1: Linjär algebra

Matematisk Modellering

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

Linjära ekvationssystem

Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Kursinformation Grundkurs i programmering med Python

Introduktion till Matlab

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

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

Matlabövning 1 Funktioner och grafer i Matlab

Laboration: Grunderna i MATLAB

Introduktion till MATLAB

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

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

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

Lab 2, Funktioner, funktionsfiler och grafer.

MATLAB Matrix laboratory

TANA17 Matematiska beräkningar med Matlab

Matriser och Inbyggda funktioner i Matlab

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

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

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

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

Variabler och konstanter

Introduktion till Matlab

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

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Instruktion för laboration 1

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Introduktion till Matlab

Objektorienterad Programmering (TDDC77)

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

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

TMV156/TMV155E Inledande matematik E, 2009

Introduktion till Matlab

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

Laboration: Vektorer och matriser

Matriser och Inbyggda funktioner i Matlab

Transkript:

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

TAIU07 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. 15 januari 2016 Sida 2 / 26

TAIU07 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 och laborationer. Laborationer Lite svårare obligatoriska uppgifter att lösa. Resultat och program redovisas skriftligt. Seminarie Ett problem från en tillämpning löses med Matlab. Lösningen presenteras i en skriftlig rapport. Opposition på annan grupps arbete. Tenta Både teoretiska och praktiska uppgifter. Löses i datorsal. 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, Viktor Linders. Hittar oss i Hus B. Ing 23-25. 2:a vån. 15 januari 2016 Sida 3 / 26

TAIU07 Kurslitteratur Per Jönsson, MATLAB beräkningar inom teknik och naturvetenskap, Studentlitteratur. Boken innehåller - Programmering i Matlab. - 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. 15 januari 2016 Sida 4 / 26

TAIU07 Föreläsning 1 Variabler, Aritmetriska operationer. Prioritet. Vektorer och Matriser. Att skapa och sätta samman matriser. Enkla utskrifter med disp. 15 januari 2016 Sida 5 / 26

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 15 januari 2016 Sida 6 / 26

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). 15 januari 2016 Sida 7 / 26

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

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. 15 januari 2016 Sida 9 / 26

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. 15 januari 2016 Sida 10 / 26

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. 15 januari 2016 Sida 11 / 26

Funktionen abs beräknar absolut beloppet av ett tal. 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 Oftast gör beräkningsfel att två tal ej blir exakt lika. 15 januari 2016 Sida 12 / 26

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. 15 januari 2016 Sida 13 / 26

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 15 januari 2016 Sida 14 / 26

Att skapa matriser Funktionerna zeros, ones, och rand kan användas för att skapa martiser fylla med nollor, ettor, eller slumptal. Exempel Skapa en 2 5matris med ettor. I MATLAB skriver vi >> A=ones( 2, 5) A = 1 1 1 1 1 1 1 1 1 1 Exempel Skapa en radvektor med fem slumptal mellan noll och ett. >> x=rand( 1, 5) x = 0.8147 0.9058 0.1270 0.9134 0.6324 15 januari 2016 Sida 15 / 26

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. 15 januari 2016 Sida 16 / 26

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 15 januari 2016 Sida 17 / 26

Funktionen eye skapar en enhetsmatris av given storlek. Exempel Bilda en 6 6 matris med följande utseende 1 1 1 1 1 1 1 1 0 0 0 1 A = 1 0 1 0 0 1 1 0 0 1 0 1. 1 0 0 0 1 1 2 2 2 2 2 2 Använd eye och ones. 15 januari 2016 Sida 18 / 26

Praktiska funktioner Funktionen size talar om hur stor en matris är. För vektorer finns length. Exempel Skapa en matris och beräkna dess storlek >> A = [ 1 2 3 4 5 ; ones(2,5) ; 3-1 3-1 3]; A = 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 3-1 3-1 3 >> [n,m]=size(a) ger n = 4 och m = 5. 15 januari 2016 Sida 19 / 26

Vektorer Exempel Skapa en vektor som innehåller heltalen 1, 2,...,10, genom att skriva >> x = 1:10 x = 1 2 3 4 5 6 7 8 Detta kallas kolon-notation. Resultatet blir alltid en rad vektor. Vi kan skapa en vektor genom att ange startvärde, steg, och slutvärde genom: >> x = start:steg:slut ; 15 januari 2016 Sida 20 / 26

Exempel Skapa en vektor med jämt utspridda värden i intervallet 1 x 4 genom att skriva >> x = 1:0.01:4; Detta ger en vektor med length(x)=301. Vill vi istället ha en kolumn-vektor måste vi använda transponat >> x = (1:0.01:4) ; Exempel Skapa en vektor med N = 150 jämnt utspridda tal i intervallet 1 x 4. 15 januari 2016 Sida 21 / 26

Funktionen linspace skapar en vektor med jämt utspridda tal på ett givet intervall. Exempel Skapa 50 jämt utspridda tal på intervallet 2 x 5 genom att skriva >> x = linspace( 2, 5, 50 ); Exempel Skapa en vektor som innehåller talen 0, 0.2, 0.4,..., 1.0. 15 januari 2016 Sida 22 / 26

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. 15 januari 2016 Sida 23 / 26

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 15 januari 2016 Sida 24 / 26

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) ] ) 15 januari 2016 Sida 25 / 26

Exempel Vi vill använda Matlab för att skriva ut texten sin(2.3)=0.7457 Hur skall vi göra? 15 januari 2016 Sida 26 / 26