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

Relevanta dokument
MMA132: Laboration 2 Matriser i MATLAB

Beräkningsvetenskap föreläsning 2

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

2 februari 2016 Sida 1 / 23

Matriser och vektorer i Matlab

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

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

MATLAB övningar, del1 Inledande Matematik

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Introduktion till Matlab

Laboration: Grunderna i MATLAB

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

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

Linjära ekvationssystem i Matlab

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

Introduktion till Matlab

En introduktion till MatLab

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

Linjär algebra med tillämpningar, lab 1

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

Laboration: Vektorer och matriser

Introduktion till Matlab

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

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

Introduktion till MATLAB

Användarhandledning Version 1.2

Matriser och linjära ekvationssystem

Instruktion för laboration 1

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

Beräkningsverktyg HT07

Instruktion för laboration 1

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

Introduktion till Matlab

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

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Matriser och linjära ekvationssystem

Introduktion till 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

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 Hjälpmedel: MATLAB

Agenda (obs! halvdag)

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

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

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

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

Inledande programmering med C# (1DV402) Summera med while"-satsen

c) Sarrus regel ger L6.2 Hur många lösningar har ekvationssystemen?

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

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

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

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

Vektorerna är parallella med planet omm de är vinkelräta mot planets normal, dvs mot

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

TSBB14 Laboration: Intro till Matlab 1D

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

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

x+2y+3z = 14 x 3y+z = 2 3x+2y 4z = 5

Objektorienterad programmering Föreläsning 2

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

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

Variabler och konstanter

Matriser och Inbyggda funktioner i Matlab

MAM283 Introduktion till Matlab

TANA17 Matematiska beräkningar med Matlab

Kort om programmering i Matlab

Matematisk Modellering

Programmeringsteknik med C och Matlab

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

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

4.3. Programmering i MATLAB

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

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Algoritmer, datastrukturer och komplexitet

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

MAPLE MIKAEL STENLUND

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

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

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

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

Matematisk Modellering

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

TAIU07 Matematiska beräkningar med Matlab

SF1624 Algebra och geometri

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

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

JavaScript del 3 If, Operatorer och Confirm

Några saker som jag inte hann: Ur trigonometriska ettan kan vi uttrycka och i termer av. Vi delar båda led i trig. 1:an med :

Matriser och Inbyggda funktioner i Matlab

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Introduktion till Matlab

8 Minsta kvadratmetoden

Vektorgeometri för gymnasister

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

x 2y + z = 1 (1) 2x + y 2z = 3 (2) x + 3y z = 4 (3)

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Transkript:

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. Här arbetar vi med två av dem, backslash och rref. Låt oss säga att vi skall lösa systemet A Vi skriver in koefficientmatrisen: a = [1 3 ; -1 ] och högerledet: b = [5 ; 0] = b där A 1 3 = 1 och 5 b = 0 b är en kolonnvektor, därför krävs semikolon. Den som vill vara lite annorlunda skriver: b = [5 0] och uppnår samma sak. Om b hade haft fler element skulle det faktiskt löna sig. Nu kan man lösa A a\b = b genom att skriva: Alternativt kan man använda kommandot rref som radreducerar en matris. Då använder vi förstås den utökade matrisen, eller totalmatrisen. Och den får vi enkelt genom att skriva: totmat = [a b] Genom att fortsätta med rref(totmat) utför matlab det slitsamma arbetet med att radreducera vår matris och efter radreducering är det ju lätt att genomskåda lösningen till systemet. Man kan tycka att backslash går mer rakt på sak om man bara intresserar sig för systemets lösning, men om man inte säkert vet att systemet har en entydig lösning kan rref ge en klarare bild av läget; rref besväras heller inte av symboliska variabler bland elementen. 1

Uppgifter 1. Uppgift 8 i boken, sid 48. (Determinanten behöver inte beräknas.). Uppgift 9 i boken, sid 48. 3. Lös systemet + 3y = b a y = för alla värden på konstanterna a och b. Gränsvärden Beräkning av gränsvärden i Matlab är relativt okomplicerat. Läs i boken i början av kapitel 6, sid 145 151. För att beräkna eempelvis syms kvot = sin(3*)/(tan(*) it (kvot,0) sin 3 0 tan kan man skriva: Nollan efter kvot behövs strängt taget inte eftersom matlab förmodar att gränsen är 0. Men det blir tydligare på det sättet. Uppgifter 4 6. Uppgift 1, och 4 i boken, sid 178. 7. v + v 8 4 v 16

8. + 3 9. 0 3 1+ c 1 där c är en konstant. M-filer och programmering M-filer är ett av de viktigaste begreppen i Matlab och ett man definitivt vill ta till sig om man skall kunna använda programmet på något annat sätt än som en förvuen miniräknare. I boken beskrivs m-filer på sidorna 106 10 men det finns också en utmärkt framställning i häftet Introduktion till Matlab som ni fått ut tidigare. Betrakta följande problem. Vi vill beräkna summan k = 1+ + 3 + + 10. Vi kan naturligtvis göra detta genom att beräkna varje term för sig och sedan summera. Men det verkar onödigt slitsamt; det borde finnas ett sätt att få matlab att utföra arbetet. Lösningen blir att skriva en så kallad repetitionssats där ett kommando eller en rad kommandon utförs ett visst antal gånger. I matlab finns två sådana: for och while, där for utför något ett bestämt antal gånger, while tills något villkor är uppfyllt. Här skall vi använda for. Syntaen ser ut så här: for k=startvärde:slutvärde satser Varibeln k kan vi förstås döpa till vad vi vill. Inne bland satserna används k, i första varvet med värdet startvärde i sista med värdet slutvärde. k räknas upp med 1 om inget annat sägs. För att beräkna summan ovan behöver vi en variabel som i varje varv håller reda på delsummorna och den variabeln måste först, innan repetitionssatsen börjar, sättas till 0. Vi skriver därför accsum = 0; for k = 1:10 accsum = accsum + k^; 10 k = 1 3

Nu ligger det efterfrågade värdet i variabeln accsum. Koden ovan fungerar i och för sig i kommandofönstret men så snart man arbetar med aningen komplicerade kommandon som repetitionssatser eller över huvud taget med flera kommandon efter varandra, är det en god idé att använda sig av m-filer. Man skriver helt enkelt ett litet program, det vill säga en rad kommandon som utförs alla på en gång då programmet anropas. M-filer komponeras lämpligen i matlabs editor. Låt oss utvidga problemet ovan och beräkna n k = 1 k m för olika positiva heltalsvärden på m och n. Vi skriver en funktionsfil som har n och m som in-parametrar. Funktionens värde, eller dess utparameter, är den summa vi skall beräkna. function y=min_summa(n,m) % min_summa beräknar en summa av k-potenser där m är eponenten, från k=1 till n som är % det största k-värdet. accsum = 0; for k=1:n accsum = accsum + k^m; y = accsum; Det är en god idé att skriva kommentarer till sitt program för att lättare kunna minnas vad det egentligen åstadkommer. Genom att inleda en rad med ett procenttecken får man Matlab att förstå att det rör sig om en kommentar och ingen kod som skall eekveras. Uppgift 10. Skriv en m-fil som beräknar n i= 0 i + 1 Pröva olika värden på n och wait for it gör en intelligent iakttagelse. 4

Ytterligare ett viktigt kommando i matlab (och i så gott som alla programmeringsspråk) är if som gör det möjligt att eekvera ett kommando bara när ett visst villkor är uppfyllt. If kombineras ibland med else om något annat kommando skall eekveras när villkoret inte är uppfyllt. Här är ett eempel på en funktionsfil som imiterar absolutbeloppet (som ju naturligtvis redan finns i matlab). function y = min_abs() if >0 else y = ; y = -; Uppgift 11. Skriv en funktionsfil som konverterar ett komplet tal z = a + ibfrån rektangulär till polär form, z som element. Funktionens värde är lämpligen en vektor med r och θ som element. Det är förstås inte tillåtet att använda matlabs egna funktioner för komplea tal. i = re θ. Funktionen kan ha två in-parametrar, a och b, eller en vektor med a och b Den här uppgiften är inte alldeles enkel och det är inte säkert att den hinns med under övningspasset. Men fundera på var problemen ligger; sedan kommer vi att på en föreläsning i veckan diskutera hur de kan lösas. 5