SF1672, Linjär Algebra med Matlab för F1 Lab0

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

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

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

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

2D1212, Numeriska metoder & grundläggande programmering för BD2, Bio2 & K2. Laboration 0 (Frivillig!) Introduktion till UNIX och MATLAB

Laboration: Grunderna i MATLAB

Introduktion till Matlab

UNIX. 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Laboration 1. Mål. Vad laborationen går ut på. Redovisning

Introduktion till Matlab

kommando -fl argument

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

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

Laboration: Grunderna i Matlab

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

Instruktion för laboration 1

Kort-kort om utdelade användarkonton och datormiljön på NADA

Lab 7, 48 steg till ett bättre liv i Unix-labbet

DD1310 Programmeringsteknik för Open1 och Med2 Laborationer läsåret 2014/2015

Introduktion till datormiljön och Python

Laboration 1 Introduktion till Visual Basic 6.0

Introduktion till Matlab

DD1315 Programmeringsteknik och Matlab för I1 Laborationer läsåret 2013/2014

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

Instruktion för laboration 1

Konsolfönster i Windows Momentet ingår i kursen PDA DTR1206 Lab 1 DOS Konsolfönstret

Introduktion till Matlab

Linjär algebra med tillämpningar, lab 1

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

Parallella jobb ctrl-z emacs & more README ctrl-z jobs. %<jobnr>

Kort-kort om utdelade användarkonton och datormiljön på NADA

Introduktion till Matlab

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

Introduktion till Matlab

Praktiska saker... Om Laboration 1. Studietips. Praktiska saker. Att studera hemifrån på PC. Seminarier & Lektioner & Handledning & Hemsida

Introduktion till Matlab

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

Skapa mapp. * Gör så här: Det finns många sätt att skapa mappar, men det enklaste sättet brukar vara följande.

Kom igång med. Windows 8. DATAUTB MORIN AB

komplex av nödvändiga, understödjande program som kallas Utanpå OS existerar ett - eller flera olika - slags skal som

DD1316 Programmeringsteknik och C för E1 Laborationer läsåret 2015/2016

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

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

Introduktion till Matlab

Introduktion till Matlab

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

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

Numeriska metoder och grundläggande programmering för T1

Introduktion till Matlab

Grundkurs 1 IKT Filhantering

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Introduktion till MATLAB

Träff 1 Skissa & Extrudera

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

Xemacs, första hjälpen!

Laboration 2 i datorintro för E1 Detta dokument innehåller instruktioner och övningar för introduktion till E-programmets datorsystem och web-mail.

DATORINTRODUKTION 2010 LABORATION 1

MMA132: Laboration 2 Matriser i MATLAB

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

DD1311 Programmeringsteknik för CL1 Laborationer läsåret

Grundläggande datorkunskap. Kom igång med dator

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

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

Läs detta innan du fortsätter, eller skriv ut det, klicka runt lite och läs samtidigt.

Rullningslisten. Klicka på rullningslistpilar (pil upp eller pil ner) 1 för att förflytta dig i önskad riktning, en liten bit i taget.

Komma igång med 3L Pro Komma igång med 3L. Copyright VITEC FASTIGHETSSYSTEM AB

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Övningar till UNIX/Linux Grundkurs och förslag till LÖSNING

Arbeta i Qlikview. Grundkurs i Qlikview- enkel Exempel och beskrivning av grundläggande funktioner

Numeriska metoder och grundläggande programmering för P1 och T1

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

SLUNIK manual. SLUNIK version

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

2D1311 L1 och Bio2 2001/ Laboration 1: Introduktion till Nadas datormiljö och Java Nyckelord: katalog, fil, källkod, kompilera, avlusa, program,

KURSMÅL WINDOWS STARTA KURSEN

Handhavande manual problemhantering

TSBB14 Laboration: Intro till Matlab 1D

Steg 1 Minnen, mappar, filer Windows 7

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Datorintro för elektro på Solaris

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

Programmering. Scratch - grundövningar

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Instruktioner för att kunna programmera på skolans datorer

TANA17 Matematiska beräkningar med Matlab

Till flera av ovanstående finns det dessutom varianter, vilka kommer att presenteras i de olika avsnitten.

Om Mappar Uppgift 1: Skapa en mapp på Skrivbordet... 2 Om enheter... 3 Uppgift 2: Byt namn på din nya Höst -mapp till Vår...

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Låt "Personlig mappfil för Office Outlook (.pst)" vara markerad. Klicka på OK

Operativsystem - Windows 7

Introduktion till Matlab

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

En introduktion till MatLab

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

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

Kapitel 15: Data/Matrix Editor

Transkript:

SF1672, Linjär Algebra med Matlab för F1 Lab0 Denna labb är tänkt att öva datorhantering och öva inledande Matlab. Eftersom förkunskaperna varierar finns en hel del uppgifter så att alla kan få något att jobba med. Fler uppgifter ger ytterligare insikt och övning i Matlab-programmering men inga extra bonuspoäng eller liknande. Denna Lab0 behöver inte redovisas (förutom hederskodexen), Men fråga eller redovisa gärna om något känns osäkert! Läsanvisning: Matlab-häftet Introduktion till UNIX och MATLAB Del 1: UNIX och kontoadministration Dessa första uppgifter visar en del UNIX-kommandon. De är bra-att-veta-kunskaper men inget obligatoriskt i kursen. (Man måste alltså inte kunna Unix-kommandon). Ni bör jobba två och två med laborationerna. Dels för att det blir mindre jobb per person men framför allt därför att man lär sig bäst genom att diskutera med varandra. De två som jobbat ihop bör redovisa tillsammans men båda skall då kunna alltihop som om han/hon gjort det ensam. Man får inte jobba fler än två i gruppen. Sätt er vid en terminal och sedan loggar ni in på ett av era konton. Det spelar ingen roll vilket. Den vane datorhanteraren kan efter 1.1 hoppa direkt till uppgift 2.1 dvs inledande Matlab. Den som vill öva lite Unix och fönsterhantering fortsätter här. Uppgift 1.1 Skriv ut ett exemplar av Hederskodexen från kurshemsidan och skriv under att du kommer följa den och lämna in den till kursledaren. Uppgift 1.2 När du loggar in för allra första gången får du upp ett tomt skrivbord med diverse knappar/rullgardiner i ytterkanterna. Jag brukar ha tre fönster när jag jobbar. Ett terminalfönster, ett Emacs-fönster och ett Matlab-fönster. Emacs-fönstret använder du till att skapa och skriva texter och program, terminal-fönstret använder du till att ge kommandon och köra program och Matlab-fönstret till att köra Matlab-program och styra Matlab-grafik-fönster. För att skapa ett terminalfönster så klicka i knappen Dash Home uppe till vänster. Skriv terminal i sökrutan och klicka på den ikon som dyker upp. På samma sätt kan du starta andra program som tex Matlab och Emacs. Om det är ett program du vill använda ofta så kan du skapa en genväg genom att flytta ikonen till vänsterkanten. OBS! Jag rekommenderar ETT enda Emacs/editor-fönster när man jobbar! INTE FLERA! Det gäller Matlab också. (OBS! Ett alternativ till Emacs vid just Matlab-programmering är att använda editorn som finns inuti Matlab. Vi kommer till den lite senare.) Du kan flytta ett fönster vart du vill genom att dra i det i den övre kanten (dvs håll nere vänster musknapp medan du flyttar musen). Storleken kan ändras genom att klicka och dra (med vänster knapp) i fönstrets hörn. 1

Uppgift 1.3 Som vanligtkan man klickasigfram i menyernaochfönstren. Men mankan ocksåta fram informationenmed korta skrivna kommandon i ett terminalfönster. Några användbara Unix-kommandon i terminal-fönstret som du kan prova nu är pwd som visar vilken katalog du befinner dig i och ls som visar vilka filer som finns i den katalog du befinner dig i (pwd är kort för print working directory och ls är kort för list). Kommandot ls visar vilka filer som finns i den katalog du befinner dig i. Uppgift 1.4 (xeyes fungerar bara hos vissa! Om ej fungerar, byt mot emacs) Skriv i terminalfönstret xeyes och tryck sedan retur. Du har nu startat programmet Xeyes och det ritar ut ett par ögon som tittar på din markör, oavsett var på skärmen den befinner sig. Du kan flytta ögonen genom att klicka med musens vänstra knapp på den övre tjocka ramen och så länge du håller knappen nedtryckt flyttas ögonen med. Storleken ändras när man drar i ögon-fönstrets sidor. Försöker du nu skriva kommandon i terminal-fönstret, prova tex ls, så händer inget. Detta beror på att terminal-fönstret jobbar med Xeyes-programmet. Ställ markören i terminal-fönstret och tryck CTRL-C, (dvs håll ned Control-tangenten och tryck till C-tangenten en gång). Nu försvinner ögonen eftersom vi stoppar programmet som kördes i terminal-fönstret. Om du nu skriver något i terminal-fönstret så utförs det snällt. CTRL-C är standard-kommandot för att tvärt avbryta en program-körning. Skriv nu i terminalfönstret xeyes & och tryck sedan retur, observera & -tecknet! Du har nu återigen startat programmet Xeyes men det har startats i ett eget fönster, som en separat process, och du kan denna gång ge nya kommandon i terminal-fönstret fastän ögonen är i gång. När ni så småningom jobbar med Matlab så rekommenderar jag att ni har (minst) tre fönster öppna: Terminal-, Emacs- och Matlab-fönster, mer om detta senare. Jobbar ni i vanliga Matlab-miljön ersätts de två senare med Edit- och Command-Window-fönstren. Uppgift 1.5 Ni bör skapa en katalog (också kallad mapp eller folder) för kursen. En katalog med namnet linalg skapar ni genom att i ett terminalfönster skriva kommandot mkdir linalg. Alternativt kan ni skapa katalogen genom klicka på mapp-ikonen i vänsterkanten. Sedan klicka er till den nivå där ni vill lägga linalg -katalogen. Då klickar ni på file uppe på menyraden och i rullgardinsmenyn välja New folder. Byt sedan namnet till linalg. OBS: I uppgift 1.6 till 1.8 visas hur man skapar, kopierar och tittar på saker med hjälp av textkommandon. Man kan lika gärna göra detta genom att klicka på lämpliga fönster. Uppgift 1.6 För att gå ned till linalg-katalogen skriver ni cd linalg i terminalfönstret. Prova att ge kommandot pwd efteråt så ser ni att ni flyttats. Det kan vara praktiskt att direkt skapa en ny katalog Lab1 för att enkelt hålla redan på alla filer till Lab1. Detta gör ni med mkdir Lab1 och sedan kan ni gå dit med cd Lab1. Prova gärna ls och pwd igen för att se att katalogen skapats och att ni flyttats rätt (syns också i promptern). (cd är kort för change directory och mkdir är kort för make directory.) Ett alternativt sätt att skapa mappar (dvs kataloger) för labbarna är att från knappen Home Folder klicka dig fram till linalg-mappen och i den högerklicka och skapa mappen med Create Folder. Skälet till att skapa kursens mapp/katalog linalg med kommandot i terminalfönstret är att då blir mappen/katalogen gemensam för er två som labbar ihop, dvs båda kan komma åt den. 2

Uppgift 1.7 Prova nu att kopiera en m-fil från kursbiblioteket. Unix-kommandot for kopiering är cp (copy). Titta bland m-filerna på kursbiblioteket/kurswebsidan. Där finns en fil som heter tomat.m. Kopiera över den till er katalog (valfri metod). Kolla med ls att kopieringen fungerade. På kursbiblioteket ligger också en m-fil som heter banan.m. Kopiera över den till er katalog (valfri metod) och byt namn på den till banan.m. Med kommandot cp banan.m gurka.m skapar ni en kopia av filen banan.m och kopian heter gurka.m. Med kommandot mv banan.m gurka.m byter ni namn på filen banan.m till gurka.m. (mv är kort för move). Alla Matlab-program måste ha avslutning.m Ni kan spara en fil under vilket namn ni vill, men skall ni kunna köra den i Matlab måste den sluta med punkt-m. Den får heller inte börja med en siffra eller ha mellanrum/blankslag i namnet, se mer i läroboken. Uppgift 1.8 Titta på några av filerna i terminal-fönstret med kommandot more (tex more tomat.m). Uppgift 1.9 Man kan starta Matlab på många olika sätt, välj tex bland a) Starta Matlab genom att i Dash Home söka efter Matlab och klicka på ikonen när den kommer. Matlab startar nu (det tar en stund) och du kommer att befinna dig, precis som vid inloggningen, på din hemkatalog. Du måste nu gå ned till rätt katalog med kommandot cd (om du följt råden ovan: cd linalg följt av cd Lab1). b) Starta Matlab genom att i terminal-fönstret ge kommandot matlab & Fördelen med detta sätt är att vi automatiskt i Matlab är kvar på den katalog vi var på innan vi startade Matlab. (Glömde du et-tecknet efter Matlab har du nu ett dött terminalfönster, men du kan alltid öppna ett nytt terminal-fönster. Ge nu kommandotls eller dir så skall du se att filerna tomat.m och gurka.m ligger där. (Dessa kommandon är egentligen UNIX-kommandon men fungerar både i terminalfönstret och Matlab.) Vill du titta på programmet tomat skriver du type tomat.m i Matlab-fönstret. Vill du köra programmet tomat skriver du tomat (alltså utan.m )(i Matlab Command Window). Det bör då komma upp ett grafik-fönster med en välkänd frukt i. Du kan på vanligt sätt flytta grafik-fönstret dit du vill. Uppgift 1.10 Flytta dig till Emacs-fönstret (om du saknar ett, läs uppgift 1.2 igen) eller gå till Edit i Matlab. Hämta fram filen tomat.m. Det gör du genom att i menyn File välja Open och ange filnamnet ~/linalg/lab1/tomat.m Välj i menyn File Save as... och spara den under namnet citron.m Eftersom vi inte angav någon katalog blir det samma som vi hade nyss, dvs Lab1 under linalg Gå tillbaka till Matlab-fönstret. Kör det nya programmet citron, det blir fortfarande en röd frukt!? Gå tillbaka till Emacs-fönstret. På rad 6 i citronprogrammet står det vilken färg man vill fylla cirkeln med. Byt ut röd ( r =red) mot gul ( y =yellow) så att det blir fill(x,y, y ) och spara filen. Gå tillbaka till Matlab-fönstret. Kör programmet citron och jämför med programmet tomat. Skillnad? Du har just gjort ett eget Matlab-program! Notera att man kan titta på innehållet i en fil i alla tre fönstrena, bara kommandona är olika. Vill man däremot ändra i filen skall man vara i Edit/Emacs-fönstret och vill man köra ett Matlab-program skall man vara i Matlab-fönstret. Vill man skriva ut programmet på papper klickar man på Print i Edit-fönstret eller skriver i sitt terminal-fönster: lpr citron.m(det går att skriva ut program även från Matlabs Workspace fönster, men med ett enda litet skrivfel så kan hela programmet ohjälpligt raderas och rekommenderas därför ej. Kommandot print citron.m skrivet i Matlab-fönstret raderar hela programfilen!) Hur man skriver 3

ut grafik-fönstret kommer vi till lite senare! (Man kan skriva ut Matlab-koden direkt från Emacs-fönstret också.) Del 2: Inledande Matlab Skumma igenom första kapitlen i Matlab-häftet och gör följande uppgifter Uppgift 2.1 Använd Matlab för att lösa det linjära ekvationssystemet 1 1 1 1 x 1 1 1 1 1 x 2 = 1 2 4 8 x 3 1 4 16 64 x 4 4 2 2 14 Uppgift 2.2 Givet följande två matriser A och B samt vektorn x: A = 2 1 4 5 B = 1 1 2 3 x = 7 9 Skapa dessa variabler i Matlab och bilda sedan C = AB, D = BA, F = A. B, G = B. A, H = A. ( 1), K = A ( 1), L = 1./A, z = Ax, p = z T z, E = A T A, q = x T Ex, v = x T Bx samt w = x T B T x Vilka av de nya variablerna är matriser, vektorer respektive skalärer? Är C och D lika? Är C och F lika? Är F och G lika? Är H, K och/eller L lika? Är p och q lika? Varför? Uppgift 2.3 Skriv ut på skärmen en tabell med två kolumner över funktionen f = x 20 2 3e x för x = 0,1,2,...,5 Den vänstra kolumnen skall vara x-värdena, den högra motsvarande f-värden. Gör sedan samma sak med funktionen g = x3 20 2 x3 e x. (Ledning: vad är en utskriven tabell i Matlab egentligen?) Uppgift 2.4 Rita grafen för funktionen f(x) = x 20 2 3e x för x på intervallet (0,5). Välj lämpligt litet tabellsteg och rubriker och axelbeteckningar så att grafen blir snygg. Uppgift 2.5 Rita grafen för funktionen g(x) = x3 20 2 x3 e x för x på intervallet (0,5). Välj lämpligt litet tabellsteg och rubriker och axelbeteckningar så att grafen blir snygg. När den är riktigt fin skriver ni ut grafen på skrivaren. Se till att ni har med ert namn i rubriken så att ni känner igen den när den kommer ut på papper. 4

Del 3: Lite Matlab-program och grafik I följande uppgifter kommer du att rita flera grafik-bilder på frukter. Undvik att skriva ut dem på papper! De drar väldigt mycket färg! Om ni inte gjort det tidigare: Kopiera filerna tomat.m och banan.m från kurshemsidan. Kopiera filen banan.m och kalla den gurka.m. Gör sedan uppgift 1.10 Uppgift 3.1 Med dina nya kunskaper i Matlab, fixa till din citron så att den inte blir så kantig utan rund och fin. Uppgift 3.2 Skriv i Matlab-fönstret kommandona clf, clear Det första rensar grafik-fönstret, det andra rensar Matlabs variabel-minne. Varje gång när man börjar med en ny uppgift bör man ge dessa två kommandon för att få en fräsch start. Skriv x,y och Matlab klagar och säger att variablerna x och y är odefinierade. Kör programmet gurka.m och ge därefter ånyo kommandot x,y Nu finns variablerna och deras värden skrivs ut på skärmen. (Med kommandot who kan du se vilka variabler som finns.) a) Hur många element har vektorn x? b) Varför finns inte värdet 1.2 med i vektorn? c) Vad händer om man tar bort hold on? (görs lättast genom att man (i Emacs) kommenterar bort raden genom att sätta ett %-tecken först på raden). d) Vad händer om man också kommenterar bort den sista raden, den som börjar med fill([1,1...)? e) Ditt program heter ju gurka.m. Gör om det så att det ritar en gurka! (Vilka färger som finns kan du se i Matlab-häftet eller genom att i Matlab-fönstret skriva help plot). f) Vad händer om du byter ut fill mot plot? Uppgift 3.3 Skriv i Matlab-fönstret kommandona clf, clear all Tag en kopia av banan-programmet från kursbiblioteket (i vilket fönster gör du det?) a) Kör programmet banan.m med kommandot banan Kör därefter programmet tomat.m? med kommandot tomat Vad händer? b) Kör programmen i direkt följd genom att på samma rad skriva banan, tomat Vad syns på skärmen när allt är klart? (dvs du har åter fått >> först på raden i Matlab-fönstret.) c) Tag bort kommandot clf ur tomat-programmet. Kör dem nu efter varandra med banan, tomat Vad blir slutresultatet? Varför? d) Vad händer om du i stället kör dem i omvänd ordning med tomat, banan? Varför? Den sista uppgiften visade förhoppningvis varför man ogärna har clear all och clf inuti sina program. Man bör i stället göra dessa kommandon innan man startar programmet. Dvs om jag vill köra bananprogrammet så skriver jag normalt på en rad clear, clf, banan Vill jag köra båda programmen skriver jag clear, clf, banan, hold on, tomat eller clear, clf, tomat, hold on, banan och utan clf inne i programmen spelar ordningen ingen roll för bilden. När jag vill köra om programmen använder jag uppåtpilen för att få tillbaka föregående Matlab-kommando utan att behöva skriva om det. Nu är ni definitivt förberedda att jobba vidare med MÖ-uppgifterna! /NC 5