Kapittel 3 MATLABs brukergrensesnitt 3.1 Brukergrensesnittets vinduer Ved oppstart av MATLAB åpnes MATLAB-vinduet, se figur 1.1. MATLAB-vinduet inneholder forskjellige (under-)vinduer. De ulike vinduene blir nærmere beskrevet i etterfølgende underkapitler. Det fins 5 vinduer, som vi kan kalle standardvinduer, men enda flere vinduer kan åpnes avhengig av menyvalg og funksjoner som er valgt (f.eks. hjelp-vindu, figurvinduer og editorvinduer). For illustrasjonens skyld tar vi nå fram alle de 5 standardvinduene: Foreta menyvalget View / Desktop Layout / Five Panels. Følgende 5 vinduer skal nå være åpnet, jf. figur 3.1: Kommandovinduet (Command Window), som inneholder kommandolinja der du kan skrive og få utført MATLAB-uttrykk. Kommandolinja er nærmere beskrevet i underkap. 3.3. Arbeidsrommet (Workspace), som viser de variablene som er generert siden du startet MATLAB (nåværende sesjon). Arbeidskatalogvinduet (Current Directory), som viser hvilken katalog MATLAB nå benytter som sin arbeidskatalog. Vinduet viser også de filene som evt. er lagret på arbeidskatalogen. Arbeidskatalogen er nærmere beskrevet i underkap. 4.3. Kommandohistorievinduet (Command History), somviser alle kommandoer du har utført, både i inneværende sesjon og i tidligere sesjoner. Hver gang du åpner MATLAB startes en ny sesjon. 15
16 LærMATLABtrinnfortrinn Figur 3.1: De 5 vinduene som åpnes med menyvalget View / Desktop Layout /FivePanels. Oppstartingsvinduet (Launch Pad), som viser oppstartsikoner for MATLAB og eventuelle tilleggspakker som er installert, f.eks. SIMULINK og Control System Toolbox. Ved å høyreklikke i et vindu, åpnes en meny med relevante funksjoner du kan benytte på hele eller utvalgte (merkede) deler av vinduet. Du kan frigjøre (eng.: undock) vinduet fra MATLAB-vinduet (slik at det blir flytende) ved å trykke pil-knappen rett til venstre for lukk-knappen (med kryss) opp til høyre i det aktuelle vinduet. Og du kan legge et vindu inn i MATLAB-vinduet igjen (eng.: dock) via menyvalget View / Dock i det aktuelle vinduet. Frigjør Launch Pad-vinduet fra MATLAB-vinduet. Legg det så inn i MATLAB-vinduet igjen. La oss bli litt kjent med noen av vinduene: Skriv x=1+2 på kommandolinja og trykk enter-tasten. Skriv deretter y=x+3 og trykk enter.
Lær MATLAB trinn for trinn 17 Observer følgende: MATLAB viser svarene (x=3 og y=6) i kommandovinduet. Uttrykkene du skrev, blir lagret i kommandohistorievinduet i en sesjon hvis start markeres med sesjonens tidspunkt. Variablene x og y angis i arbeidsrommet. Det er vanligvis tilstrekkelig å ha oppe kun kommandovinduet i den ordinære bruken av MATLAB: Sørg for at kun kommandovinduet er åpent (menyvalg View osv.). I tillegg til vinduene nevnt ovenfor, vil andre vinduer bli åpnet ved bestemte menyvalg eller automatisk av MATLAB, f.eks.: Help eller hjelp-vinduet, som kan åpnes etter menyvalget View Help eller Help / MATLAB Help. Hjelp beskrives nærmere i underkap. 3.5. Figurvinduer, som viser plott av data. Plotting er beskrevet i kap. 6. Editorvinduer for m-filer, dvs. skriptfiler eller funksjonsfiler. Skript er beskrevet i kap. 4, og funksjoner er beskrevet i kap. 16. 3.2 Preferanser for vinduene i brukergrensesnittet Du kan sette preferanser for vinduene i MATLABs brukergrensesnitt (se figur 3.1). Dette kan gjøres via menyvalget File / Preferences. Vi skal som eksempel sørge for at teksten i kommandovinduet blir vist med visningsformat short, som viser tall med 5 sifre (pluss desimalpunktum), og compact, som ikke viser blanke linjer. Foreta følgende menyvalg: File / Preferences / Command Win. / Text Display / Num. Format / Short File / Preferences / Command Win. / Text Display / Num. Display / Compact Utfør nå følgende uttrykk på kommandlinja (skriv uttrykket etter MATLAB-promptet» på kommandolinja og avslutt med enter-tasten):
18 LærMATLABtrinnfortrinn 1/3 0.3333 La oss sammenlikne ovenstående med visningsformat long og loose (i stedet for short og compact): Menyvalg: File / Preferences / Command Win. / Text Display / Num. Format / Long File / Preferences / Command Win. / Text Display / Num. Display / Loose 1/3 0.33333333333333 Altså en luftigere presentasjon i kommandovinduet (blanke linjer vises) og med hele 15 sifre (pluss desimalpunktum). MATLABs forhåndsvalg for visningsformat er short og loose. Jeg foreslår: Velg short og compact. Som alternativ til å velge visningsformat short og compact via menyvalg som forklart ovenfor, kan du ganske enkelt utføre kommandoene format short og format long fra kommandolinja, jf. kap. 8. 3.3 Kommandovinduet med kommandolinja Du kan utføre MATLAB-uttrykk (beregninger m.m.) fra kommandolinja, og resultatene vises i kommandovinduet (bortsett fra plott, som vises i egne figurvinduer). Kommandovinduet (med kommandolinja, som begynner med MATLAB-promptet») er vist i figur 3.1.
Lær MATLAB trinn for trinn 19 3.3.1 Databehandling på kommandolinja Vi skal nå lære å bruke kommandolinja. Vi starter med å be MATLAB om hjelp til å addere 1 og 1.Vi skriver a=1+1 etter MATLAB-promptet» på kommandolinja (avslutt med enter-tasten på tastaturet): a=1+1 a = 2 a=1+1 er et eksempel på et MATLAB-uttrykk (expression), mens a er et eksempel på en variabel. a fikk (eller ble tilordnet) en verdi lik resultatet av den matematiske operasjonen 1+1. Hvis vi avslutter et uttrykk med semikolon, blir resultatet fremdeles beregnet, men det skrives ikke ut på skjermen: a=2+2; Tilsynelatende skjedde ingen ting, men MATLAB har beregnet svaret, men viste det altså ikke fram på skjermen. Vi kan se svaret med: a a = 4 Vi observerer at verdien av en variabel (her a) ergittavdetsistutførte uttrykket (forrige verdi overskrives altså). Ovenfor innførte vi variabelen a. Dersom vi utfører et uttrykk uten å tilordne resultatet til noen egendefinert variabel, tilordner MATLAB verdien til variabelen ans (forkortelse for answer), som er en innebygd variabel i MATLAB. ans får verdi fra det sist utførte uttrykk. Vi prøver: 1+2
20 LærMATLABtrinnfortrinn 3 Obs: Det mulig å benytte variabelnavn som allerede er benyttet for innebygde MATLAB-kommandoer eller funksjoner, men hvis du gjør det, mister kommandoen eller funksjonen sin opprinnelige betydning helt til du evt. sletter variabelen. Et eksempel: sqrt en funksjon for å beregne kvadratroten av et tall. La oss beregne kvadratroten av 2: sqrt(2) ganske riktig 1.4142 Av en eller annen grunn definerer vi et array (eller vektor) med navn sqrt meddetoelementene3hhv.5: sqrt=[3 5] Så prøver vi igjen sqrt(2) nå med 5 fordielementnr.2iarrayetsqrt jo er 5. Vi kan få tilbake sqrt-funksjonen ved å slette sqrt-variabelen: clear sqrt Nå er sqrt-funksjonen tilgjengelig igjen: sqrt(2) (heldigvis) 1.4142
Lær MATLAB trinn for trinn 21 3.3.2 Kommandolinjeditoren Vi skal bli kjent med mulighetene for editering av uttrykkene som vi skriver på kommandolinja. Skriv følgende på kommandolinja (som utgangspunkt for oppgavene som følger): b=1+2+3+4+5+6 (men ikke avlutt med enter-knappen) Home-tasten benyttes til å flytte markøren (kursoren) til begynnelsen av linja: Trykk home-tasten. Markøren står nå på begynnelsen av linja. End-knappen benyttes til å flytte markøren til slutten av linja: Trykk end-tasten. Markøren står nå ved slutten av linjen. Piltastene og virker på vanlig måte: Bruk -tasten til å flytte markøren til begynnelsen av linja, og deretter - tasten til å flytte den tilbake til linjas slutt. Tastekombinasjonen Ctrl-K sletter resten av linja fra markør-posisjonen: Sett markøren etter 4 på kommandolinja, og trykk Ctrl-K. Linja er nå slettet fra og med 4, og linja skal se slik ut: b=1+2+3+4 Utfør ovenstående uttrykk ved å trykke enter-tasten b = 10 Esc-tasten sletter hele kommandolinjas innhold: Skriv c=1+2, ogavsluttmedesc-tasten. Innholdet på kommandolinja er nå slettet.
22 LærMATLABtrinnfortrinn Piltastene og henter fram den foregående henholdsvis den neste linja: Trykk -tasten for å hente fram linja b=1+2+3+4. Avslutt med enter-tasten. b = 10 Hvis du ønsker å kalle fram et tidligere uttrykk på kommandolinja som begynner med en bestemt bokstav- eller symbolkombinasjon, kan du skrive denne bokstavkombinasjonen etterfulgt av trykk på -tasten. Også uttrykk fra tidligere sesjoner kan tilbakekalles. La oss kalle fram den siste linja som inneholder en kommando som begynner med c: Skriv c etterfulgt av et trykk på -tasten. På kommandolinjen kan det nå stå clear (evt. et annet uttrykk som begynner med c). Dette uttrykket kan du evt. utføre ved å trykke enter. Et uttrykk på kommandolinja kan oppdeles i flere (sammenhengende) deler med 3 punktum: d=1+2+...(enter) 3+4 d = 10 Du kan skrive inn flere enn ett uttrykk på kommandolinja. De må da adskilles med komma: e=1+1, f=2+2 e =
Lær MATLAB trinn for trinn 23 f = 2 4 MATLAB skiller mellom små og store bokstaver: f, F f = 4??? Undefined function or variable F. 3.3.3 Inntasting av andre talltyper enn heltall Hittil har vi kun tastet inn heltall. Her er noen eksempler på innskriving av andre typer tall: 1 2 a=0.1, b=1e-1, c=2e2, d=2*10^(2), e=exp(1), f=pi a = 0.1000 b = 0.1000 c = 200 d = 200 e = 2.7183 f = 3.1416 1 I uttrykk som d=2*10^(2) kan du skrive ^-tegnet vha. Skift + ^-tasten, men på enkelte PC er virker ikke dette. Et alternativ er å bruke MATLABs power-funksjon, som her: d=2*power(10,2). 2 I MATLAB brukes kun desimalpunktum, ikke desimalkomma.
24 LærMATLABtrinnfortrinn 3.4 Arbeidsrommet Alle variable som genereres i en MATLAB-sesjon, lagres i MATLABs arbeidsrom (workspace). Du kan få informasjon om variable i arbeidsrommet via høyreklikk på den aktuelle variabelen i arbeidsromvinduet, som kan åpnes med menyvalget View / Workspace. Arbeidsromvinduet er vist i figur 3.1. Du kan også få fram informasjon vha. kommandoer utført på kommandolinja. I det etterfølgende skal vi konsentere oss om bruk av slike kommandoer. La oss, som utgangspunkt for de etterfølgende oppgaver, slette alle variablene i arbeidsrommet: clear Skriv nå a=1; b=2; a+b; (Siden vi har avsluttet de enkelte uttrykkene med semikolon, gir ikke MATLAB noen respons på skjermen.) Du kan sjekke innholdet i arbeidsrommet vha. kommandoen who: who Your variables are: a ans b Verdien av de enkelte variablene fås med a, b, ans a = 1 b = 2 3
Lær MATLAB trinn for trinn 25 Nærmere informasjon om de enkelte variablene fås med whos Name Size Elements Bytes Density Complex a 1 by 1 1 8 Full No ans 1 by 1 1 8 Full No b 1 by 1 1 8 Full No Grand total is 3 elements using 24 bytes Vi kan slette en bestemt variabel med funksjonen clear: clear b, who, siden variabelen b er slettet, Your variables are: a ans Arbeidsrommet slettes når du går ut av MATLAB. 3.5 Hjelp! Du kan få hjelp via MATLABs hjelp-vindu og via doc- og help-kommandoen. Disse beskrives i det følgende. 3.5.1 Hjelp-vinduet Hjelp-vinduet åpnes med menyvalget Help / MATLAB Help, se figur 3.2. Fra hjelp-vinduet kan du bl.a. foreta søk på basis av stikkord i Search-mappa, se figur 3.2, klikke deg fram til informasjonen i Contents-mappa, klikke deg fram til informasjonen i Index-mappa.