I detta kompendium anv¨ands endast ett f˚atal typografiska konventioner. En ¨ar n¨ar vi visar exakt hur det ser ut n¨ar man skriver in kommandon i MATLABs kommandof¨onster och f˚ar output tillbaks till det f¨onstret. S˚adana exempel visas inom en ram:
Kommandot som skrivs in Respons fr˚an MATLAB
Ibland refererar vi till kommandon och variabler i l¨opande text, och markerar d˚a detta genom att skriva variabelnamnet med s¨arskilt typsnitt a = sin(x).
Referenser till MATLABs hj¨alp-dokument skrivs med initialt ? och s¨arskilt typsnitt, t.ex.
?/MATLAB/Reference/MATLAB Function Reference/Mathematics/Elementary Math/
Hur man anv¨ander en s˚adan referens f¨or att s¨oka ett avsnitt i dokumentationen beskrivs i avsnitt 2.1.6.
Notera ocks˚a att MATLAB anv¨ander den anglosaxiska konventionen d¨ar decimalkommat inte skrivs med komma utan med punkt. S˚aledes ¨ar 2,3 ett talpar medan 2.3 ¨ar ett decimaltal.
Kapitel 2
Att komma ig˚ ang
Efter det f¨orsta data¨ovningspasset skall du kunna:
• Logga in p˚a ditt studentkonto p˚a Fysikums datorer
• Starta MATLAB
• Anv¨anda MATLAB som en enkel mini-r¨aknare
• ˚Aterkalla MATLAB kommandon fr˚an historie-filen.
2.1 De f¨ orsta stegen - ”Hello World”
Det finns en slags ”tradition” inom litteraturen om datorprogram och programmeringsspr˚ak enligt vilken den f¨orsta uppgiften man skall l¨osa n¨ar man ger sig i kast med ett nytt program eller spr˚ak ¨ar att f˚a programmet att skriva ”Hello World” p˚a sk¨armen. Det h¨ar kan verka litet f˚anigt, men det ¨ar faktiskt inte s˚a dumt. Visserligen ¨ar det vi kr¨aver av sj¨alva programmet t¨amligen trivialt, men f¨or att det hela skall fungera m˚aste vi kunna en hel del saker om den milj¨o i vilket programmet fungerar: vi m˚aste kunna logga in p˚a den dator d¨ar programmet skall k¨oras, hitta och starta programmet, f˚a programmet att acceptera v˚ara instruktioner om vad som skall utf¨oras, k¨ora programmet och till sist f˚a programmet att kommunicera ett resultat, vanligtvis via en bildsk¨arm. Kan vi klara av alla dessa uppgifter s˚a kan vi i forts¨attningen koncentrera oss p˚a att f˚a programmet att l¨osa mer och mer komplicerade uppgifter.
2.1.1 Logga in p˚a datorn.
Hur man loggar in p˚a datorerna p˚a ¨ovningslabbet kommer troligen att variera med tiden.
Det beror ocks˚a p˚a vilket operativsystem den dator du skall arbeta vid anv¨ander. H¨ar beskrivs hur det g˚ar till att logga in p˚a en dator som k¨or operativsystemet Windows under v˚arterminen 2005. Skulle du misslyckas att komma in p˚a det s¨att som beskrivs h¨ar kan det bero p˚a att f¨orh˚allandena ¨andrats, s˚a fr˚aga en assistent om du ¨ar tveksam.
I normalfallet kommer datorn att visa upp en inloggningsruta p˚a sk¨armen d¨ar anv¨ andar-namnet redan ¨ar ifyllt som ”student”. Allt du beh¨over g¨ora ¨ar d˚a att klicka p˚a ”OK” s˚a loggas du in, och kan b¨orja arbeta.
2.1.2 Logga in p˚a afs
F¨or att kunna komma ˚at dina egna filer p˚a ditt afs-konto m˚aste du logga in dit. Det g¨or du enklast genom att klicka p˚a det lilla h¨angl˚aset till h¨oger i listen l¨angst ned p˚a sk¨armen. I menyn som kommer upp klickar du p˚a “obtain new tokens”. I inloggningsrutan skall “AFS
3
cell” vara su.se, och sedan fyller du i ditt anv¨andarnamn och l¨osenord. AFS inloggningen g¨aller bara en viss tid, det kan d¨arf¨or vara klokt att ungef¨ar en g˚ang i timmen klicka p˚a h¨angl˚aset och “obtain new tokens”, detta f¨or att undvika att afs-f¨orbindelsen bryts mitt i en word-session. Om det h¨ander kan du f¨orlora mycket arbete.
2.1.3 Starta Matlab
N¨ar du ¨ar inloggad kan du se ett antal sm˚a bilder - ”ikoner” - p˚a sk¨armen. Varje ikon ¨ar en symbol f¨or ett objekt som finns i datorn. Det kan vara en fil, en mapp (katalog) eller ett program. Vad som h¨ander n¨ar du dubbelklickar p˚a en ikon beror p˚a vad ikonen ¨ar en symbol f¨or, ¨ar det t ex en symbol f¨or en fil skapad i programmet Microsoft Word kommer programmet Microsoft Word att starta och ¨oppna filen.
P˚a din sk¨arm kommer du att ha en ikon som visar MATLABs symbol. Den ikonen ¨ar l¨ankad direkt till programmet MATLAB, s˚a genom att dubbelklicka p˚a den startar MATLAB.
En alternativ metod att starta MATLAB ¨ar att klicka p˚a den lilla fyrkanten l¨angst ned, m¨arkt med Windows-symbolen och ordet ”Start”. D˚a ¨oppnas en meny med ett antal alter-nativ varav ett ¨ar ”Program ”. Klickar du p˚a den raden s˚a ¨oppnas en mindre meny (det ¨ar inneb¨orden av symbolen ”.”), d¨ar v¨aljer du ”MATLAB . ” och i den meny som d˚a kommer upp v¨aljer du ˚ater ”MATLAB 7.0”.
(om MATLAB 7.= inte syns s˚a klicka p˚a symbolen i botten av menyn s˚a ¨oppnas fler alter-nativ) och p˚a den meny som d˚a ¨oppnas ˚aterigen ”MATLAB 7.0”.
2.1.4 Matlabs “Skrivbord” (Desktop)
N¨ar MATLAB har startat ¨oppnas ett nytt f¨onster p˚a din dator som kan se litet olika ut beroende p˚a vilka inst¨allningar som har sparats, men det blir i alla fall en version av det som kallas MATLABs skrivbord. En variant av skrivbordet ser ut som nedan, men bli allts˚a inte f¨orskr¨ackt om det inte ser riktigt likadant ut.
2.1. DE F ¨ORSTA STEGEN - ”HELLO WORLD” 5
Vi skall senare (avsnitt 7.1.2) ta en n¨armare titt p˚a hur man kan f¨or¨andra utseendet p˚a det som MATLAB visar s˚a att informationen kan anpassas till vad vi vill g¨ora under ett givet arbetspass. Men l˚at oss b¨orja med en enkel konfiguration f¨or att f¨orst bekanta oss litet med MATLAB: G˚a in i menyn ”Desktop”. Att g˚a in i en meny betyder att man klickar p˚a menyns titelord, i det h¨ar fallet ”Desktop”.
Undock Command Window Desktop Layout
Save Layout...
Organize Layout...
√ Command Window Command History Current Directory Workspace
Help Profiler
Toolbar Shortcuts N¨ar man g¨or det visas ett litet f¨onster
(ungef¨ar som i figuren h¨arintill) som kallas rullgardinsmeny (pull-down menu).
Genom att klicka p˚a n˚agot av de ord som st˚ar i menyn kan du utf¨ora vissa komman-don. Dessa menyer har ett s¨arskilt sym-bolspr˚ak, en liten triangel, som den du kan se efter ”Desktop Layout” anger att du genom att klicka p˚a den raden kan ¨oppna upp ytterligare en meny, en undermeny till
”Desktop Layout”. Symbolen Toolbar Titles
”√
” anv¨ands f¨or variabler som kan sl˚as p˚a och av i menyn. I det exempel som vi visar h¨ar betyder det att ”Command Window” ¨ar p˚aslaget, medan de andra alternativen ¨ar avs-lagna. N¨ar det st˚ar . . . till h¨oger om ett alternativ betyder det att det ¨oppnas en ny meny d¨ar du kan g¨ora ytterligare val om du klickar p˚a det alternativet. Eventuellt ¨ar fler alter-nativ p˚aslagna n¨ar du startar MATLAB, sl˚a i s˚a fall av dem genom att klicka p˚a de ord som har symbolen ”√
” till v¨anster om sig s˚a att det ser ut som i figuren. N¨ar vi nu l¨amnar menyn genom att klicka n˚agonstans utanf¨or menyf¨onstret har vi en enkel MATLAB-desktop med ett enda f¨onster - kommandof¨onstret ¨oppet. Kommandof¨onstret (Command Window)
¨
ar det f¨onster genom vilket vi och MATLAB kommunicerar med varandra, d¨ar skriver vi in kommandon och MATLAB skriver ut resultat.
2.1.5 Say Hello
S˚a har vi ¨antligen kommit fram till den punkt d˚a vi ¨ar redo att s¨aga hall˚a v¨arlden. Det som
˚aterst˚ar ¨ar att instruera MATLAB att skriva ut ”Hello World” p˚a sk¨armen. Det finns fler s¨att att f˚a MATLAB att utf¨ora kommandon, det enklaste som vi skall anv¨anda f¨orst ¨ar att skriva in kommandot i kommandof¨onstret. N¨ar vi skriver ett kommando i kommandof¨onstret och trycker p˚a ”return” s˚a kontrolleras f¨orst att kommandot har en korrekt syntax, dvs att kommandot ¨ar skrivet enligt de regler som g¨aller f¨or MATLABs kommandospr˚ak s˚a att pro-grammet kan tolka instruktionen. Om kommandot vi skrivit in ¨ar korrekt utf¨ors det och eventuella resultat visas i kommandof¨onstret. Det kommando vi skall anv¨anda f¨or att s¨aga hall˚a heter disp() efter engelskans ”display”. Kommandot betyder helt enkelt att MAT-LAB skall visa det som st˚ar inom parantesen (argumentet) i kommandof¨onstret p˚a sk¨armen.
Det som st˚ar inom parantesen kan vara en m¨angd olika storheter, men just nu ¨ar vi intresser-ade av n˚agot som kallas f¨or textstr¨ang. En textstr¨ang ¨ar en str¨ang av tecken, omgiven av enkla citationstecken: ( ’ ’). MATLAB behandlar en textstr¨ang som en liten l˚ada som man inte, i alla fall inte utan en del m¨oda, kan g¨ora n˚agot med annat ¨an att spara och ta fram vid behov. Genom att ge textstr¨angen ’Hello World’ som argument till kommandot disp instruerar vi MATLAB att skriva ut str¨angen p˚a sk¨armen. Det sista steget blir allts˚a att ge kommandot disp(’Hello World’) i kommandof¨onstret, som svar kommer MATLAB att skriva
”Hello World” i kommandof¨onstret, och vi har klarat av v˚ar f¨orsta MATLAB uppgift.
disp(’Hello World’) Hello World
L¨agg m¨arke till att under tiden som du skriver str¨angen s˚a ¨ar den m¨orkr¨od, och att den skiftar f¨arg till lila n¨ar du skriver det andra citationstecknet och fullbordar en korrekt str¨ang. Det h¨ar ¨ar ett st¨od som MATLAB ger oss f¨or att underl¨atta att skriva korrekta kommandon. Vi
˚aterkommer senare till en genomg˚ang av annan hj¨alp vi kan f˚a.
2.1.6 Matlabs hj¨alpfunktion
MATLAB har en mycket omfattande on-line dokumentation, och kraftfullt st¨od f¨or hj¨ alp-funktionen. Det finns fler s¨att att hitta information p˚a, s˚a vi kommer under kursens g˚ang att l¨ara oss fler olika metoder att f˚a hj¨alp. Den f¨orsta metoden vi skall anv¨anda ¨ar att
¨
oppna och anv¨anda hj¨alp-f¨onstret. Det g¨or du genom att i MATLABs desktop klicka p˚a ? symbolen. D˚a ¨oppnas ett nytt f¨onster - ”Help window”, ett f¨onster som ¨ar uppdelat i tv˚a pann˚aer genom en vertikal avgr¨ansning. Den v¨anstra pann˚aen anv¨ands f¨or att navigera i materialet och finna det avsnitt i dokumentationen som vi ¨ar intresserade av, i den h¨ogra pann˚an presenteras hj¨alp-texter.
Tittar vi nu f¨orst p˚a den v¨anstra pann˚an s˚a kan vi v¨alja fyra alternativa s¨att att navigera genom att klicka p˚a n˚agon av de fyra flikarna h¨ogst upp:
contents
ger oss en inneh˚allsf¨orteckning d¨ar ¨amnena ¨ar grupperade i kapitel och underkapitel i olika niv˚aer ner till enstaka sidor.
2.1. DE F ¨ORSTA STEGEN - ”HELLO WORLD” 7 index
ger oss tillg˚ang till ett alfabetiskt ¨amnesregister d¨ar vi kan s¨oka om vi vet namnet p˚a det kommando eller det begrepp vi vill veta mer om.
search
ger oss m¨ojlighet att s¨oka i den samlade dokumentationen. S¨okningen kan vara efter s˚av¨al enstaka ord som hela fraser.
Demos
Ar en flik d¨¨ ar det finns samlat ett antal “demos” grupperade inom olika ¨amnen, som t ex
“Mathematics “ och “Graphics”. Dessa ¨amnen ¨ar sedan i sin tur uppdelade i underavdel-ningar. Denna avdelning av MATLABS hj¨alpfunktion ¨ar ett utm¨arkt omr˚ade f¨or sj¨alvstudier.
L˚at oss nu ta en n¨armare titt p˚a vad som m¨oter oss under fliken ”contents”. Schematiskt ser pann˚an un-der ”contents” ut s˚a h¨ar: Boxarna symboliserar av-snitt i hj¨alpkatalogen. Genom att klicka p˚a n˚agon av textraderna kommer vi till motsvarande avsnitt i hj¨alpdokumentationen. Den lilla fyrkanten med ett + -tecken visar att motsvarande symbol inneh˚aller
underavdelningar som vi kan g¨ora synliga genom att klicka p˚a plustecknet. N¨ar vi g¨or det - prova! - s˚a ¨oppnas den avdelningen, och vi kan forts¨att att klicka oss fram tills vi n˚ar ner till den niv˚a vi s¨oker. En underavdelning som ¨ar ¨oppnad kan st¨angas igen: klicka bara p˚a minustecknet s˚a st¨angs motsvarande niv˚a. I den h¨ar kursen kommer vi n¨astan uteslutande att h˚alla oss inom den del av dokumentationen som startar med boxen ”MATLAB”. I det h¨ar kompendiet anv¨ands en speciell syntax f¨or att beskriva hur du skall navigera fram till givna avsnitt i hj¨alpdokumentationen. L˚at oss t ex b¨orja med att l¨asa i dokumentationen hur MATLAB med hj¨alp av f¨argkodning och andra trix hj¨alper oss att skriva korrekta komman-don i kommandof¨onstret. Till den sidan n˚ar du genom att med b¨orjan i l¨aget som avbildas i figuren ovan klicka p˚a f¨oljande titlar:
MATLAB
Desktop Tools and Development Environment Editing and Debugging M-files
Creating, Editing and Running Files Appearance of an M-file
Preferences for the Command Window
P˚a sidan finns en l¨ank ”syntax highlightning” som leder oss till den sida som beskriver hur MATLAB anv¨ander f¨argkoder f¨or att hj¨alpa till med syntaxen. F¨or att spara utrymme kommer vi i det h¨ar kompendiet att skriva
?/MATLAB / Desktop Tools and Development Environment / Editing and De-bugging M-files/ Creating, Editing and Running Files / Appearance of an M-file/
Preferences for the Command Window f¨or klick-serien ovan.
N¨ar vi har l¨ast f¨ardigt i hj¨alpf¨onstret s˚a kan det vara bekv¨amt att g¨ora sig av med det s˚a att vi l¨attare kan se kommandof¨onstret.
Det g¨or vi enklast genom att anv¨anda oss av en av symbolerna som visas h¨ogst upp till h¨oger i varje f¨onster (allts˚a inte bara MATLABs) som visas p˚a datorn. De tre symbolerna
anv¨ands f¨or att hantera f¨onster i Windowsmilj¨on.
Symbolen till v¨anster anv¨ands f¨or att f¨orminska f¨onstret till en ”ikon”. Prova att klicka p˚a den, och du ser att f¨onstret f¨orsvinner och att vi obehindrat kan se de f¨onster som tidigare var dolda bakom hj¨alpf¨onstret. Det fina i kr˚aks˚angen ¨ar att f¨onstret finns kvar i skepnad
av en liten symbol ”Help” p˚a listen l¨angst ned p˚a datorsk¨armen. Genom att klicka p˚a den symbolen ˚aterst¨alls f¨onstret genast. Det h¨ar ¨ar ett bekv¨amt s¨att att g¨ora det enklare att hitta bland alla sina ¨oppna f¨onster, de som inte anv¨ands f¨or tillf¨allet minimerar man bara och de finns fortfarande l¨att tillg¨angliga. Krysset l¨angst till h¨oger st¨anger det aktuella f¨onstret.
Om detta ¨ar ”topp-f¨onstret” avslutas det program som ¨oppnat f¨onstret. Klickar vi d¨ar i hj¨alpfunktionen s˚a avslutas MATLABs hj¨alpfunktion och vi f˚ar b¨orja om fr˚an b¨orjan och klicka p˚a “?”om vi vill ha mer hj¨alp. Den mittersta symbolen slutligen anv¨ands f¨or att maximera ett f¨onsters storlek, klickar vi p˚a den s˚a f¨orstoras f¨onstret s˚a att det t¨acker hela datorsk¨armen. Det h¨ar kan vara bekv¨amt om man till exempel vill kunna l¨asa en hel sida i dokumentationen p˚a sk¨armen utan att beh¨ova bl¨addra upp och ner p˚a sk¨armen. N¨ar vi
¨
ar klara klickar vi bara en g˚ang till p˚a samma symbol och f¨onstret ˚atertar sin ursprungliga storlek. Ett annat s¨att att f˚a hj¨alp ¨ar att i kommandof¨onstret skriva help kommando , d¨ar
”kommando” byts ut mot namnet p˚a det kommando man s¨oker hj¨alp om. Detta leder ofta snabbare fram till den information man s¨oker ¨an att s¨oka i dokumentationen. Sv˚arigheten
¨
ar bara att man m˚aste ha en f¨orsta id´e om vad det ¨ar man vill ha hj¨alp med s˚a att man har n˚agot vettigt att skriva in i st¨allet f¨or ”kommando”.
2.1.7 Avsluta Matlab
Det finns tv˚a s¨att att avsluta MATLAB. Du kan antingen g˚a in i menyn ”File” och d¨ar v¨alja ”exit MATLAB” eller ocks˚a trycka p˚a ”ctrl Q” (trycker samtidigt ner tangenten ”ctrl”
i nedre v¨anstra h¨ornet av tangentbordet och tangenten ”Q”).