Introduktion Indtastning Funktioner Scripts Optimering. Matlab



Relaterede dokumenter
Matlab-kommandoer. Robert Jacobsen. 9. august 2010

INTRO TIL GOOGLE DREV

Fagets IT Introduktion til MATLAB

Denne artikel er en detaljeret gennemgag af det fundamentale i batchfiler til hjemmebrug :-) FEEL THE POWER! ;-)

Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010

Introduktion til MatLab

Lineær Algebra, kursusgang

portal.microsoftonline.com

BRUGERMANUAL FOR KLUBKOORDINATORER. Version 2.0

Undervisning Version 1.0 redigering af billeder til hjemmesiden

Vejledning til Mozart Viewer 12

Sammenlign og byt. Et eksempel på dokumentering af et program

Programmering C RTG

Gem dine dokumenter i BON s Content Management System (CMS)

Start af nyt schematic projekt i Quartus II

Kom godt i gang med I-bogen

Microcontroller, Arduino

Hent filoplysninger fra billeder og filer

Sådan redigerer du en hjemmeside i Umbraco

Qbrick s krav til video filtyper

Statistik FSV 4. semester 2014 Holdundervisning Uge 1: 4. februar Introduktion til Stata

Lineær Algebra, kursusgang

Daglig brug af JitBesked 2.0

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

dpix opgaveredigering i Emacs en tutorial

OrCAD Capture TCL IDE med Eclipse

16/04/12 50% 50% Waveform Chart Waveform Graph XY Graph Indicator Graph 33% 17% 88% 13%

Hvordan du opretter, bruger og tildeler kategorier til arrangementer og nyheder

Indsæt og opret et billede på én gang

Besvarelser til Lineær Algebra Reeksamen August 2016

Delfi Connect. Bruger vejledning 1. TILSLUTNING INSTALLATION MENUSTRUKTUR...4

NVivo-øvelser for PC. Når NVivo er åbent, kan importen ske på to måder:

Arduino Programmering

Mircobit Kursus Lektion 1

Opsætning af Backup. Hvis programmet registreres korrekt vises nedenstående skærmbillede. Genstart herefter programmet.

Det Naturvidenskabelige Fakultet. Introduktion til Blackboard (Øvelser) Naturvidenskabeligt Projekt 2006 Prøv at forske

Besvarelser til Lineær Algebra Ordinær Eksamen Juni 2018

Den digitale Underviser. Clouds. Dropbox

At gemme en opgave eller graf på TI-89 / Voyage 200 til senere brug eller til dokumentation på Pc.

Modul 16, Word 5 Felter, tabeller og breve

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family.

Indholdsfortegnelse PSpice modul 3. Forudsætninger. Forberedelse til øvelser

ChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt.

Maple. Skærmbilledet. Vi starter med at se lidt nærmere på opstartsbilledet i Maple. Værktøjslinje til indtastningsområdet. Menulinje.

Daglig brug af Jit-klient

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Det nye opgaveværktøj i itslearning september 2017

Her kan man oprette et nyt slideshow ved at trykke på kassen med "Opret nyt slideshow". Dette fører en til "Rediger slideshow".

Oprette og distribuere lyd- og videofiler

3 Tilføj printer "HP-GL/2 devices, ADI for Autodesk by HP" 5 Klik "Printer ikonet" - Print/Plot configuration

Vejledning til datatræk i Novax på ICPC-koder (eksempel stress)

Android-app til Legacy pa Windows-pc

LEJERBO.DK INDSÆT BILLEDER, GALLERI OG VIDEO

I Windows fil struktur er der følgende ting Drev, Mapper, Filer og Genveje.

QUICKGUIDE TIL XMEDIA

Michael Jokil

Eksamen i Lineær Algebra

Vejledning til datatræk i Novax på ICPC-koder

OPGAVER 1. Løsning af ligningssystemer Disse første opgaver er introducerer til løsning af lineære ligningssystemer. De løses alle ved håndregning.

NetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)

Selvstudium 1, Diskret matematik

Opret og vedligehold af favoritliste på markedspladsen

Det sprogpædagogiske kørekort 2012/2013. Modul 9: Rettelse af kursistopgaver (Del 1)

Mappestruktur- og logik i VuptiWeb er stort set den samme som på vores computer.

Organisering af billeder.

Eksamen i Lineær Algebra. Første Studieår ved Det Tekniske Fakultet for IT og Design samt Det Ingeniør- og Naturvidenskabelige Fakultet

QR15 Vejledning i at bestemme kvartilsæt og at tegne sumkurver med Nspire, Maple og Geogebra

Lær Python dag 1 - modul 1

Table of Contents. konverter fil til PDF... 3 Konverter Wordfil til PDF... 4 Konvertere Pages fil til PDF (mac)... 8.

Den digitale Underviser. Videoredigering. Windows Live Movie Maker

APPENDIX A INTRODUKTION TIL DERIVE

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Workshop G4 MicroStation V8 XM edtion nye værktøjer 2

Om tastaturgenveje i Noter

Søgning på patienter med kræft

Brugervejledning til Design Manager Version 1.02

Installations- og brugervejledning. for. HDM trafikanalyseprogram til anvendelse sammen med HiStar enhederne NC90, NC90A, NC97 og NC200

Installationsguide til Oracle Database XE 10.2 og APEX 3.1.1

Introduktion til funktioner, moduler og scopes i Python

Anvendelse af favoritliste på markedspladsen

Matricer og Matrixalgebra

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

Vejledning Uniconta. 1 Indhold. 7. oktober finsit Vejledning

Hvordan gør jeg? Gennemgang af fotoredigeringsprogrammet Picasa

Elevvejledning til SkoleKomNet - Min egen hjemmeside

Hold kontakten med dit netværk!

Introduktion. Installation. En kort oversigt

Fang Prikkerne. Introduktion. Scratch

Gmail Lær det selv! Valdemar Bonde

BRUGERVEJLEDNING TIL BRUG AF MC IKAST HJEMMESIDE.

AktivLog. Log program for EDR s 80m aktivitetstest. Af oz1gdi / 5p0o Steen Rudberg. AktivLog V af 11

Vejledning. Indhold. Side 1

Dokumentation for administration af it-systemer i PD30

Hvorfor SAS Kort intro til SAS

Manual Serif Web & Tableau Public

xgalleri Mulige filtyper Installation web-version

Tracking af YouTube i Google Tag Manager og Universal Analytics (Seneste version)

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Fronter for elever - Første undervisning

Transkript:

- robert@math.aau.dk http://www.math.aau.dk/ robert/teaching/2010/matlab 9. august 2010 1/39

Disposition 1. Lidt om. 2. Basiskursus. 3. Opgaver. 4. Mere til basiskursus. 5. Opgaver. 2/39

MATLAB = MATrix LABoratory Lavet til lineær algebra Godt til lineær algebra! Mange specialfunktioner Ingeniørernes afgud Kræver lidt tilvænning 3/39

Ved brug af : Der er gode muligheder for hjælp Gode hjælpefunktioner i med eksempler. På nettet. Hjælp fra andre -brugere: http://www.mathworks.com/matlabcentral/newsreader Blogs om : http://blogs.mathworks.com Min erfaring er Ved du hvilken kommando, der skal bruges: Brug s hjælp. Ved du hvad vil uden at kende en kommando: Brug Google. Et råd: Brug de indbyggede funktioner! 4/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 5/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 6/39

Indtastningsvindue Eneste del i terminal Ens i GUI og terminal 7/39

Indtastning i GUI 8/39

Indtastning i i terminal 9/39

Matricer Eksempler: Matematik a = [ 1 2 3 4 ] a = [1 2 3 4] 1 a = 2 3 a = [1; 2; 3; 4] [ 4 ] 1 2 3 4 a = a = [1 2 3 4 ; 5 6 7 8] 5 6 7 8 Generelt: [ og ]: Start og slut matrix. Mellemrum: Næste element indenfor rækken. Semikolon: Ny række. 10/39

Mindre tastearbejde... Smartere måde end sidste slide: Matematik sk a = [ 1 2 3 4 ] a = [1 2 3 4] a = 1:4 1 a = 2 3 a = [1; 2; 3; 4] a = (1:4) [ 4 ] 1 2 3 4 a = a = [1 2 3 4 ; 5 6 7 8] a = [1:4 ; 5:8] 5 6 7 8 Bemærk: Transponering med Generelt: start:skridt:slut Specielt: start:slut = start:1:slut 11/39

Minimér tastearbejdet Brug s funktioner: Matematik [ ] sk 0 0 0 a = a = zeros(2,3) [ 0 0 0 ] 1 1 1 a = a = ones(2,3) [ 1 1 ] 1 1 0 a = a = eye(2) [ 0 1 ] 1 2 3 4 a = a = reshape(1:8, 2, 4) 5 6 7 8 Hjælpefunktionen til zeros, ones, eye henviser til lignende kommandoer. 12/39

Delmatricer En matrix: a = [ 1 2 3 ] 4 5 6 7 8 Elementer og delmatricer: Output b = a(2,3) b = 7 [ ] 1 2 b = a(1:2, 1:2) b = 5 6 b = a(1,:) b = [ 1 2 3 4 ] [ ] 3 b = a(:,3) b = 7 b = a(1, 2:2:end) b = [ 2 4 ] b = a(:) b = [ 1 2 3 4 5 6 7 8 ] Kolon betyder hele rækken, hele søjlen eller hele matricen som søjlevektor. 13/39

Matrix-algebra Elementære regneoperationer virker som forventet: A+,, B : Sum, differens, produkt af A og B Aˆn : A n Elementvise operationer:.# med # =, /, ^ [ ] [ ] [ ] a1,1 a 1,2 b1,1 b. 1,2 a1,1 b = 1,1 a 1,2 b 1,2 a 2,1 a 2,2 b 2,1 b 2,2 a 2,1 b 2,1 a 2,2 b 2,2 Funktioner med definitionsmængde C anvendes elementvis: [ ] [ ] a1,1 a sin( 1,2 sin(a1,1 ) sin(a ) = 1,2 ) a 2,1 a 2,2 sin(a 2,1 ) sin(a 2,2 ) 14/39

s funktioner Eksempel 1: Identitetsmatrix 15/39

s funktioner Eksempel 2: RREF 15/39

s funktioner Eksempel 3: Karakteristisk polynomium 15/39

Flere input/output Ved brug af s funktioner: Ved mere end 1 output skal [] benyttes: [R, jb] = rref(a) Er vi ikke interesseret i de(t) første argument(er): [~, jb] = rref(a) Specielt til R-folk - man kan ikke springe foregående input over: [output1, output2] = noget(input1, input2, input3) Ved specifikation af input3 skal input1 og input2 specificeres. 16/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 17/39

Indtastningshistorie Indeholder de kommandoer, vi har eksekveret. Kan tilgås med eller ved at klikke i vinduet. En skrevet (men ikke eksekveret) kommando gemmes ikke. 18/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 19/39

Variable Viser de variable, vi har gemt. ans er det sidste output, der ikke har fået et navn: ones(2) er ans = ones(2) 20/39

Variable Alternativ til Workspace-vinduet er kommandoen whos: >> whos Name Size Bytes Class Attributes a 4x4 128 double ans 2x2 32 double b 3x3 72 double c 3x1 24 double 21/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 22/39

Nærsyn af variable Startes ved dobbeltklik på en variabel. Variable kan inspiceres nøjere og redigeres. Bør ikke anvendes til større redigeringer. 23/39

Opgaveregning 24/39

Programmering Hvorfor lære at programmere? s funktioner kan ikke alt... Vi kan lave programmer.... Spence, Insel og Friedberg har stillet programmer til rådighed: http://math.illinoisstate.edu/matrix/downloads.html 25/39

Programmering Brug en editor til at skrive programmet s editor er god: Syntax highlighting, automatisk indryk (ligesom emacs, vim...) Holder styr på om man laver fejl. Kommer med forslag til forbedring af koden. 26/39

Programmering Brug en editor til at skrive programmet s editor er god: Syntax highlighting, automatisk indryk (ligesom emacs, vim...) Holder styr på om man laver fejl. Kommer med forslag til forbedring af koden. 26/39

Programmering Brug en editor til at skrive programmet s editor er god: Syntax highlighting, automatisk indryk (ligesom emacs, vim...) Holder styr på om man laver fejl. Kommer med forslag til forbedring af koden. 26/39

Programmering Brug en editor til at skrive programmet s editor er god: Syntax highlighting, automatisk indryk (ligesom emacs, vim...) Holder styr på om man laver fejl. Kommer med forslag til forbedring af koden. 26/39

Programmering Brug en editor til at skrive programmet s editor er god: Syntax highlighting, automatisk indryk (ligesom emacs, vim...) Holder styr på om man laver fejl. Kommer med forslag til forbedring af koden. 26/39

Programmering Jeg kender tre slags: Samling af kommandoer i fil Funktion i fil Anonyme funktioner Overlades til læseren! Søg på function_handle i s hjælp. 27/39

Ved brug af filer -filer kaldes scripts. Skal gemmes som filnavn.m skal vide hvor filerne er. 28/39

GUI 1. Indtastningsvindue 2. Historie 3. Variable 4. Nærsyn af variabel 5. Nuværende mappe 29/39

Nuværende mappe Ses øverst i Current Folder. I undervinduet Current Folder. Med kommandoen pwd: >> pwd ans = /Users/CRJ/Desktop Skift nuværende mappe: Ved at skrive i Current Folder øverst. Ved at klikke i undervinduet Current Folder. Med kommandoen cd 30/39

Placering af scripts Scripts skal placeres, hvor leder: I den nuværende mappe I en mappe, der er inkluderet i PATH PATH kan ses/ændres: Menuen File -> Set Path... Med kommandoerne path/addpath 31/39

Samling af kommandoer i fil Skriv kommandoer i fil i stedet for i indtastningsvindue. Eksekver med Run-knappen/F5 i editor kommandoen run filnavn (uden.m!) 32/39

Samling af kommandoer i fil Skriv kommandoer i fil i stedet for i indtastningsvindue. Eksekver med Run-knappen/F5 i editor kommandoen run filnavn (uden.m!) 32/39

Samling af kommandoer i fil Skriv kommandoer i fil i stedet for i indtastningsvindue. Eksekver med Run-knappen/F5 i editor kommandoen run filnavn (uden.m!) 32/39

Samling af kommandoer i fil Skriv kommandoer i fil i stedet for i indtastningsvindue. Eksekver med Run-knappen/F5 i editor kommandoen run filnavn (uden.m!) 32/39

Samling af kommandoer i fil Skriv kommandoer i fil i stedet for i indtastningsvindue. Eksekver med Run-knappen/F5 i editor kommandoen run filnavn (uden.m!) 32/39

Samling af kommandoer i fil Eksekver markeret del af koden I Ubuntu: F9 På Mac: Shift-F7 På Window$: 1. Højreklik på markeret kode 2. Se hvad der står ud for Evaluate Selection 33/39

Funktioner i fil function [out1, out2,...] = navn(in1, in2,...) <indhold af funktion> Skal gemmes som navn.m out1, out2,... skal tilskrives i <indhold af funktion> 34/39

Eksempel på funktion i fil Gemmes som hej.m : function resultat = hej(x,y) % Denne funktion bruges som eksempel resultat = x.*y + 2*x + 4; end Output: >> r = hej(2*ones(1,3), 1:3) r = >> 10 12 14 35/39

Eksempel fra bogens hjemmeside function [L, U] = elu(a) % [L, U] = elu(a) gives the LU decomposition of the matrix A U = A; b = size(a); m = b(1); n = b(2); L = eye(m); stop = 1; if m > 1 if m > n p = n; else p = m-1; end for j = 1:p if U(j,j) == 0 36/39

Kommentering Kommentering er godt! Kommentarer lige under/over function [out1, out2,...] = navn(in1, in2,...) bliver vist med help navn Eksempel: function resultat = hej(x,y) % Denne funktion bruges som eksempel resultat = x.*y + 2*x + 4; end I indtastningsvinduet: >> help hej Denne funktion bruges som eksempel 37/39

Opgaveregning 38/39

Optimering af kode Gør dine -programmer bedre/hurtigere: Lær at tænke! Hvor hurtig er en kommando? tic, kommando, toc: >> tic, A = randi(1000, 1000); toc Elapsed time is 0.071573 seconds. Hvilke dele af en kode er tidsrøvere? Profiler giver svaret! Se kommandoen kodeprofile. GUI: 39/39