Inledning. Initiering av miljön. Att köra MatLab. Labrapporten



Relevanta dokument
Tidsdiskreta stokastiska signaler

Flerdimensionella signaler och system

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

TSKS21 Signaler, Information och Bilder Lab 2: Digitalisering

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

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

Signalanalys med snabb Fouriertransform

TAIU07 Matematiska beräkningar med Matlab

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

Introduktion till MATLAB

Datorövning 1 Fördelningar

Funktioner och grafritning i Matlab

TSBB14 Laboration: Intro till Matlab 1D

Instruktion för laboration 1

1 Syfte. 2 Moment hos och faltning av fördelningar MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT Angående grafisk presentation

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

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

Matematisk Modellering

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

Datorövning 1: Fördelningar

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

Textsträngar från/till skärm eller fil

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Laboration i Fourieranalys, TMA132 Signalanalys med snabb Fouriertransform

Inlämningsuppgift 4 NUM131

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

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

TEM Projekt Transformmetoder

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

MMA132: Laboration 1 Introduktion till MATLAB

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Introduktion till Matlab

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen. Marcus Björk Doktorand i Signalbehandling, Systemteknik (IT)

Projekt 2 (P2) Problembeskrivning och uppdragsspecifikation

Projekt Spektralanalys med hjälp av den diskreta Fouriertransformen

Datorövning Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

Laboration i Fourieroptik

Mer om linjära ekvationssystem

Mer om funktioner och grafik i Matlab

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

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

Matematisk Modellering

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

4.4. Mera om grafiken i MATLAB

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

Optimal Signalbehandling Datorövning 1 och 2

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

Beräkningsverktyg HT07

Laboration 1: Mer om Matlab samt Deskriptiv statistik

TANA17 Matematiska beräkningar med Matlab

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

Spektrala Transformer

Lösningar till linjära problem med MATLAB

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

BE MATLAB. (Matrix Laboratory) matlab.ico. för SIGNALER SYSTEM

Linjär algebra med tillämpningar, lab 1

Processidentifiering och Polplacerad Reglering

FOURIERANALYS En kort introduktion

Laboration: Grunderna i Matlab

SF1920/SF1921 Sannolikhetsteori och statistik, VT 2018 Laboration 1 för CELTE2/CMATD3

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

Funktionsteori Datorlaboration 2

Matriser och Inbyggda funktioner i Matlab

TAIU07 Matematiska beräkningar med Matlab

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

Laboration: Grunderna i MATLAB

Laboration: Vektorer och matriser

Datorövning 1 Introduktion till Matlab Fördelningar

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

TAIU07 Matematiska beräkningar med Matlab

MR-laboration: design av pulssekvenser

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3.

Programmeringsteknik med C och Matlab

Kapitel 15: Data/Matrix Editor

Datorövning 1: Fördelningar

Objektorienterad programmering D2

Övningar med Digitala Filter med exempel på konstruktion och analys i MatLab

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

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Enkel linjär regression: skattning, diagnostik, prediktion. Multipel regression: modellval, indikatorvariabler

Välj Links i startmenyn och dubbelklicka på Matematik-mappen. Dubbelklicka därefter på MATLAB 5 - ikonen.

Bildbehandling i frekvensdomänen

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

DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)

Laboration 1: Beskrivande statistik

4 Laboration 4. Brus och termo-emk

Instruktion för laboration 1

Laboration i tidsdiskreta system

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

Introduktion till MATLAB

TSBB16 Datorövning A Samplade signaler Faltning

Ickelinjära ekvationer

Självkoll: Ser du att de två uttrycken är ekvivalenta?

Uppgift 1 ( Betyg 3 uppgift )

Introduktion till Matlab

1 Syfte. 2 Förberedelseuppgifter DATORLABORATION 1 MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT-03

Transkript:

Inledning Initiering av miljön För att få rätt miljö är det enklast att aktivera kursen TSDT06 Signalteori i programmet kurstool. Kurstool kan man starta i bakgrundsmenyn. Alternativt räcker det med att skriva > module load TSDT06 {1} i något skal för att kunna starta programmet MatLab med de rätta funktionssökvägarna. Detta får du dock i så fall göra varje gång du loggar in. Man kan också lägga till detta kommando i sin.cshrc- eller.tcshrc-fil. Att köra MatLab Matlab kan man hitta i Application Manager. När man aktiverat MatLab kommer ett speciellt skalfönster upp på skärmen. MatLabs skalfönster kännetecknas av prompten >> Här skriver man de operationer, tilldelningar etc. som man vill MatLab ska utföra. För att avsluta MatLab skriver man: >> exit När MatLab visar långa textstycken (t.ex. hjälptexter och stora matriser) kan det hända att det inte får plats i fönstret. Man kan då aktivera en paging funktion enligt: >> more on och därefter använda mellanslag för att stega fram texten och q för att hoppa över resten av utmatningen. I MatLab finns alla funktioner dokumenterade online. Genom att ge kommandot help <funktion> erhålls en kort beskrivning av angiven funktion. Vet man inte exakt vilken funktion eller begrepp man letar efter kan man använda kommandot lookfor <ord> för att få en lista med associerade funktioner. help dokumenterar inte bara funktioner. För en utförligare beskrivning av funktioner som är relaterade till denna laboration se Appendix A. Du kan också ha nytta av kursmaterialet från kursen Introduktion till MatLab. Labrapporten Labrapporten bör skrivas i ordbehandlare. I ISYs datorer finns FrameMaker installerat. Dokumentmallar kan hämtas exempelvis i biblioteket $SIGHOME/fmtemplates. $SIGHOME är en variabel som initieras när du aktiverar kursen. Labrapporten skall vara en rapport, alltså inte endast en kort sammanfattning av laborationsarbetet utan en fullständig redogörelse av uppgifterna. Detta innebär att tillämplig teori skall redovisas likaväl som tillvägagångssätt, resultat, tolkningar av resultat respektive slutsatser. Tänk också på hur språket behandlas. Lägg gärna in bilder och figurer som beskriver teori och resultat, glöm inte att ange vad bilderna avser att visa och glöm inte heller att ange variabler och gradering av grafernas axlar. Då rapporten bedöms tas hänsyn till dess utformning och hur väl den beskriver problemet och dess lösning förutom det rena faktainnehållet. 3

Det är enkelt att lägga in figurer som MatLab genererat i FrameMaker. Med kommandot print -deps <filnamn> i MatLab sparas aktuell figur som en Encapsulated PostScript-fil. EPS-filen kan sedan importeras i FrameMaker i File/Import/File menyn. Ett par tips Att generera brus De signaler som behövs i laborationen måste man generera själv och det är då lämpligt att utgå från brus och sedan filtrera detta. I MatLab finns en grundläggande funktion rand för att generera likformigt fördelade slumptalsmatriser. En motsvarande funktion randn skapar normalfördelade matriser. För att till exempel skapa en 1024 sampel lång vit normalfördelad signalvektor med variansen 1 skriver man: >> x=randn(1024,1); Observera att den sista ettan inte syftar på variansen utan betyder att antalet kolumner i matrisen är 1. Tyvärr är det så att det är väldigt svårt att generera äkta slumptal i en dator. Man får istället vad man kallar pseudobrus. Pseudobrus genereras ofta med hjälp av återkopplade binära skiftregister, i almänhet mycket långa, som enkelt kan simuleras i en dator. Sekvenser från sådana skiftregister liknar mycket oberoende utfall från en likformigt fördelad brusprocess. Plottning av spektraltätheter Då man ritar en kurva i MatLab får man i normalfallet bara en numrering av samplen längs x-axeln. För att få en snygg x-skala i en graf då man till exempel skall rita ett spektrum, kan det vara bra att uppritningen sker mot en vektor (0:n-1) /n. Detta ger den normaliserade frekvensen på x-axeln. n förutsätts vara antalet punkter i spektrat. Ex: plot((0:99) /100, cos((0:99)/100*pi).^2) ritar en spektraltäthet med typiskt lågpassutseende. Kom också ihåg att fouriertransformen i allmänhet producerar ett komplext resultat. Funktionen abs kan vara bra att känna till. 4

Studie 1 Modellering av signaler Diskret Fourier Transform MatLab implementerar DFT enligt: DFT är ett viktigt verktyg i signalbehandling. En DFT beräknas i en dator oftast med hjälp av en snabb algoritm kallad FFT Fast Fourier Transform. Modellering av signaler Att modellera en signal som en följd av lika fördelade oberoende stokastiska variabler är oftast för grovt. I signalteorin tas ett flertal verktyg upp som kan användas för att beskriva signaler av slumpmässig natur. Det finns även användbara formler som exempelvis anger spektraltäthet efter linjär filtrering. Just genom att filtrera vitt brus kan man erhålla en signal med en spektraltäthet som bättre svarar mot en verklig signal. Man ställs då inför problemet att anpassa modellens parametrar till en given signal. Om man på något sätt kan mäta hur bra modellanpassningen är, blir denna anpassning ett optimeringsproblem. Det här är också problem som har med kopplingen mellan tidsmedelvärden och ensemblemedelvärden att göra och även egenheter hos den diskreta fouriertransformen, DFT. I kompendiet behandlas exempelvis Bartletts estimat som är ett vanligt sätt att skatta autokorrelationsfunktionen och periodogrammet för att skatta spektraltätheten. När man har en modell kan man använda den för diverse beräkningar. Modellen kan ligga till grund för exempelvis prognoser. Bra modeller är även användbara för brusreducering, komprimering, reglering m.m. Uppgift Y[ k] = DFT{ yn [ ]} = yn [ ]e j2πkn N Genom att filtrera vitt brus kan man erhålla en signal med känd spektraltäthet. Konstruera därför ett enkelt lågpassfilter och beräkna teoretiskt hur utsignalens spektraltäthet och akf blir när insignalen är vitt brus. Plotta dessa kurvor! Studera det som står i kompendiet om akf- och spektralskattning och beräkna utifrån dessa teorier skattningar på autokorrelationsfunktion och spektraltäthet för filtrets utsignal! Använd samma filter i båda fallen. Plotta skattningarna. Hur ser skattningarna ut jämfört med de teoretiska resultaten? Kan skattningarna göras bättre på något sätt? I kompendiet finns förslag på åtgärder. Prova och jämför ett par metoder! Kanske har ni egna ideér. N 1 n = 0 ----- (1) 5

Studie 2 Icke-LTI-system Icke-LTI-system är svåra att behandla och denna kurs tar endast upp vissa minnesfria system såsom t.ex. kvadreraren. Kapitel 12 och kapitel 9 i kompendiet handlar om icke linjära system respektive kvantisering. Uppgifter Använd det lågpassfiltrerade bruset från studie 1 som insignal till följande system: Kvadrerare Halvvågslikriktare. Modulator (t.ex. multiplikation med cosinus eller sinus). Det är viktigt att spektraltätheten hos insignalen är sådan att signalen kan användas för att påvisa de ickelinjära egenskaperna hos systemet. Fånga upp fenomen i utsignalens periodogram och/eller amplitudfördelning som påvisar att vi har ett icke- LTI-system. Spektraltätheter skattas enligt föregående studie och amplitudfördelningen kan erhållas genom att plotta signalens histogram. Utnyttja det ni kom fram till i studie 1 som förbättrade spektraltätheten. Redogör för förväntade resultat och jämför med dessa. Tänk på att amplitudfördelningen hos insignalen har stor betydelse för resultatet. Pröva därför även med en signal som inte är normalfördelad Kvantiseraren är en annan olinjariteter som, i mån av tid och intresse, kan undersökas. Då är det kanske inte spetkraltätheten som är viktigast utan snarare kvantiseringsfelet som bör undersökas. Studie 3 Speciella operationer I signalbehandling förekommer många olika sätt att manipulera signaler på. Undersök i denna studie vad som händer med spektraltätheten då en sekvens multipliceras med plus- och minusettor, man bildar med andra ord en ny sekvens Y[ n] = X[ n] ( 1) n, där X[ n] är den ursprungliga sekvensen sekvens decimeras vilket innebär att vartannat sampel sätts till noll, detta kan implementeras genom att sekvensen multipliceras med följden 0 1 0 1 0 1 Använd även här det lågpassfiltrerade bruset från studie 1 som insignal. Jämför precis som tidigare teori och praktiska resultat. Var noga med att göra utsignalen stationär. Uttryck bland annat utsignalens spektraltäthet i insignalens dito. 6

Appendix Introduktion till MatLab MatLab är ett verktyg för numeriska beräkningar. Den grundläggande (och egentligen enda) datatypen i MatLab är matrisen som kan vara antingen reell eller komplex. Kolumnvektorer är matriser med endast en kolumn och radvektorer är matriser med endast en rad. MatLab erbjuder ett kommando-orienterat gränssnitt mot i systemet inbyggda funktioner liksom mot egenutvecklade funktioner. MatLab har inbyggt stöd för att presentera matriser och vektorer på diverse olika sätt. Grafer och 3d-ytor kan enkelt genereras. Flera kurvor kan plottas i samma figur. Till MatLab kan man köpa olika funktionsbibliotek. Vi kommer att komma i kontakt med det mycket spridda biblioteket Signal Toolbox. Några av funktionerna i Signal Toolbox är dokumenterade i Funktioner i Signal Toolbox på sidan 10. Detta appendix är långt i från en heltäckande dokumentation över funktionaliteten i MatLab och Signal Toolbox, men borde vara tillräckligt för att lösa uppgifterna i denna lab. För vidare information kan man använda MatLabs inbyggda hjälpsystem. Se nedan. 1. Hjälp i MatLab MatLab har online -dokumentation för de flesta funktioner. Denna kan erhållas med kommandot help <funktion>. Om hjälptexterna är för långa för det fönster man arbetar i, kan man aktivera en paging funktion med kommandot more on. Med mellanslag och returtangenten kan man sedan stega i texten. Tangenten q gör att man hoppar över resten av texten. Ett alternativ till help är lookfor <ord> som listar alla, till <ord>, associerade funktioner. Det är också möjligt att erhålla hjälp om andra saker än funktioner. T.ex. help signal kommer att lista alla funktioner som ingår i Signal Toolbox tillsammans med en kort beskrivning av dem. Enbart help skriver en lista över olika funktionsgrupper (inklusive toolbox:ar) som det finns vidare hjälptexter för. 2. Uttryck i MatLab Kommandon som man ger i MatLab-tolken är nästan alltid en tilldelning eller ett kommando i stil med print, plot och hold. En tilldelning ser ut som >> a = <uttr>; där <uttr> är en kombination av matriser, funktioner och operander. Lägg också märke till semikolonet på slutet. Utelämnar man semikolonet kommer resultatet av uttrycket att skrivas ut på skärmen - inte alltid så bra när det är fråga om stora vektorer/matriser. Man kan alltid bryta en utskrift med CTRL-C och fortfarande lita på att kommandot utfördes. 7

Vissa funktioner i MatLab kan generera två eller flera returvärden. En tilldelning av två variabler har följande form: >> [a,b] = funk(...); Ett exempel på en funktion som kan tilldela två variabler är hist. Nedan följer några grundläggande typexempel på tilldelningar och uttryck man kan skriva i MatLab: i imaginära enheten. Även j = i. a = [1 2; 3 4] ger matrisen 12. 34 b = [a a] ger då matrisen 1212. 3434 12 c = [a; a] blir matrisen 34 12. 34 a = eye(n) a = zeros(3,4) skapar en n n enhetsmatris. sätter a till en 3 4 matris av nollor. a = m:n ger vektorn a = mm+ 1 n. a = m:step:n ger vektorn a = mm+ step n. a = [1 2 zeros(1,3)] ger vektorn a = 12000. a(n) ger n:te elementet i a. Om a är en matris sorteras elementen kolumnvis. a(k, l) ger elementet på k:te raden, l:te kolumnen i a. a(k, :) ger k:te raden ur a. a(:, l) ger l:te kolumnen ur a. a(k:l) ger element k t.o.m l ur vektorn a. a([1 3], :) = [ ] tar bort rad 1 och 3 ur matrisen a. c = a + b c = a * b x = a / b x = a \ b summering. matrismultiplikation. ger vektor x som löser xb = a (om möjligt). ger vektor x som löser bx = a (om möjligt). a transponering. flipud(a) vänder upp och ned på matrisen a. 8

size(a) c = a.* b c = a.^ 2 c = a > n a = inv(b) ger en vektor [m n] där m är antalet rader i a och n är antalet kolumner. elementvis multiplikation. elementvis kvadrering. ger en matris c av samma storlek som a med ettor i de positioner där a:s element är större än n. Nollor för övrigt. matrisinvertering. 3. Funktioner användbara i denna laboration Nedan följer en kort beskrivning av några funktioner som är av intresse för laborationen. Standardfunktioner och kommandon b = sqrt(a) b = real(a) b = imag(a) b = abs(a) b = angle(a) b = sin(a) b = cos(a) b = log(a) b = exp(a) b = round(a) Samtliga dessa verkar elementvis på matriser. Man kan t.ex generera en sinus-signal enligt x = sin((0:99) /10). sqrt konstruerar en matris där varje element är roten ur motsvarande element i argumentet. Om ett element är reellt negativt får man den komplexa roten i övre halvplanet. Funktionen round avrundar ett tal till närmaste heltal. real och imag plockar ut real- resp. imaginär-delar. angle returnerar argumenten (nollskilt endast för icke positiva reella värden). a = rand(m, n) a = randn(m, n) Ger en m n matris av likformigt resp. normalfördelade oberoende slumptal. Den likformiga fördelningen är mellan 0 och 1. Normalfördelningen är N(0,1). save filename var1 var2... load filename Man kan spara variabler på fil för att senare ladda dem. Om man ger kommandot save filename sparas samtliga variabler på filen. 9

who whos Listar samtliga variabler som man har tilldelat. whos ger mer information om varje variabel såsom minnesåtgång och om den är en reell eller komplex matris. cd, pwd, ls Dessa UNIX-kommandon kan även köras i MatLab. Kommandot delete filnamn kan användas för att ta bort filer. Funktioner i Signal Toolbox y = fft(x, n) x = ifft(y, n) Beräknar n-punkters DFT och invers DFT. y(1) motsvarar DC-nivån. Om n är under vektorns längd trunkeras den, om över vektorns längd fylls den ut med nollor (nollutfyllnad). Ex: en 512-punkters DFT av en 256 lång gaussisk brusvektor skrivs >> y=fft(randn(256,1), 512); Om n utelämnas utförs transformationen utan vare sig nollifyllnad eller trunkering och transformvektorn får samma längd som invektorn. z = conv(x, y) Beräknar faltningen mellan x och y.omx är av längd n och y av längd m blir resultatet en vektor av längd n+m-1. Funktionen kan även användas för polynommultiplikation. y = filter(b, a, x) Filtrerar vektorn x genom filtret H( z) b( 1) + b( 2)z 1 + + bn ( )z = ---------------------------------------------------------------------------------- n 1 a( 1) + a( 2)z 1 + + am ( )z m 1 där n är b:s längd och m är a:s. Resultatet y trunkteras till samma längd som x. Om man alltså vill se hela impulssvaret duger det inte med att sätta x = [1], utan sätt x = [1; zeros(c, 1)] för att få de första 1+c koefficienterna i impulssvaret. Signal Toolbox har många olika funktioner för att automatiskt generera lämpliga filtervektorer b och a. [b, a] = butter(n, Wn) [b, a] = cheby1(n, R, Wn) [b, a] = cheby2(n, R, Wn) [b, a] = fir1(n, Wn) Konstruktion av olika slags tidsdiskreta lågpassfilter av längd n, med normerad gränsfrekvens Wn och rippel R (angivet i db). Vektorerna a och b innehåller filterkoefficienter som kan användas i kommandot filter ovan. Se online-dokumentationen till kommandona för ytterligare information. Även kommandona fir2, ellip, remez med flera kan användas för filterkonstruktion. (2) 10

w = hamming(n) w = hanning(n) w = blackman(n) w = boxcar(n) Skapar olika slags fönster av längd n. Boxcar är det rektangulära fönstret. Fönster multipliceras lämpligen elementvis (.*) med signaler man vill analysera. Grafer och figurer plot(y) plot(x, y) plot(x1, y1, -, x2, y2,.,...) Grundläggande plot-funktion. Den första formen plottar kolumnvektorerna i y mot dess index. Det andra formen plottar kolumnvektorer i y mot x. Den tredje formen plottar flera kurvor i samma graf. Vart tredje argument är en sträng som anger kurvans utseende. - betyder solid line, : dotted, -- dashed etc. Se online hjälptext för plot. hist(a, n) [f, d] = hist(a, n) Beräknar och plottar histogram för kolumner i a. n anger antalet fack man vill ha. Utelämnas n antas 10 fack. Den första formen plottar histogrammet. Den andra formen ger som resultat vektorer f och d där elementen f(k) anger hur många träffar fack k har och d(k) sätts till mittpunkten i detta fack. f kan senare plottas mot d med anropet plot(d, f). Man kan även låta n vara en sorterad vektor som anger mittpunkter i facken. De yttre facken blir då oändligt stora. clf hold clf raderar aktuell figur (Clear Current Figure). Kommandot innebär att grafer som man ritar med exempelvis funktionen plot hädanefter inte raderar den gamla grafen i figuren. subplot(m, n, p) Detta kommando låter aktuell figur bestå av m n koordinatsystem/ grafer. p är ett heltal som bestämmer i vilket koordinatsystem som nästa graf ska ritas i. Koordinatsystemen räknas radvis. grid Slår på/av rutnät för aktuell graf. title( text ) xlabel( text ) ylabel( text ) Dessa funktionsanrop skriver ut text i aktuell graf. title skriver ut en text rakt ovanför grafen. xlabel och ylabel skriver ut text invid motsvarande axel. Samtliga texter sparas tillsammans med grafen vid ett eventuellt print-kommando. Se nedan. 11

axis([xmin xmax ymin ymax]) axis( auto ) Styr i vilka talområden som man vill att aktuell graf ska ritas för. axis( auto ) slår på den automatiska skalningen av axlarna. axis kan anropas på många fler sätt än de dessa två. Se online dokumentation. print [-deps filnamn] Skriver ut aktuell figur på skrivaren. Genom att lägga till -deps filnamn sparar man istället figuren som en Encapsulated Postscriptfil under namnet filnamn. 12