Om UiO Studentliv 亚博娱乐官网_亚博pt手机客户端登录 For ansatte IT-tjenester Oppslagstavla Bibliotek | |
Du er her:
UiO >
亚博娱乐官网_亚博pt手机客户端登录 >
Emner >
MAT-INF1100 - Høst 2003
Matlab
Matlab er et program som er spesialisert mot numeriske beregninger og plotting/visualisering. Det er mye brukt b? i undervisning, forskning og kommersielle anvendelser. Det brukes av mange milj??atnat-fakultetet, b? i forskning og undervisning, og mange av dere vil m?et i kurs neste semester. Det fine med Matlab er at det er ganske enkelt ?omme i gang med, og grafikkmulighetene burde kunne v? til nytte for dere i arbeidet med funksjoner av flere variable i MAT 1100. Her skal jeg vise dere hvordan dere starter opp og lager enkle plott. Dere kan finne mer informasjon i Matlabs hjelpesystem. Jeg h?r ?unne gi dere litt mer overordnet informasjon mot slutten av semesteret, ikke s?ye for bruk i MAT-INF 1100, men heller som et grunnlag for ?omme raskt i gang med Matlab neste semester.Tilgjengelighet. Matlab produseres av The Mathworks, og er tilgjengelig for de aller fleste datamaskintyper. Vi har et forholdsvis romslig antall lisenser for v? linux-maskiner, og programmet skal v? tilgjengelig b? p?ermstuene og labbene.
Oppstart. Du starter Matlab ved ?i
matlab &
i et terminalvindu (under linux). Dette gir deg et tredelt vindu p?kjermen. I det st? feltet kan du skrive inn kommandoer til Matlab, slik dere har sett jeg gj?d Mathematica. Feltet ?t til venstre viser variablene du har deklarert og hvor mye plass de opptat, mens feltet nederst til venstre viser kommandoene du har brukt. Du fins dessuten en del menyer ?t i vinduet.
Plotting av funksjoner av en variabel. La oss plotte funksjonen sin(x). Dette f?du til ved ?krive
x=0:pi/20:2*pi;
y=sin(x);
plot(x,y)
Dette f?til at du f?opp et vindu med et plott av sin(x) p?ntervallet [0,2Pi]. Den f? linja betyr at x
skal v? en array med tall som begynner p? og ender med 2Pi, med steg p?i/20. I neste linje regner vi ut verdien av sin(x) i alle disse x'ene og lagrer resultatet i y, mens den siste linja genererer plottet.
Plotting av funksjoner av flere variable. Du kan plotte funksjoner av to variable, alts?later, p?ignende m?r. Anta at vi skal plotte ut funksjen sin(x+y) over kvadratet [-8,8]x[-8,8]. Da sier vi
x=-8:0.5:8;
y=x;
[X,Y]=meshgrid(x,y);
Z=sin(X+Y);
mesh(X,Y,Z)
Kommandoen mesh
kan byttes ut med surf
, da f?du en litt annen type flate.
F? linje gj? x
blir en array med verdier fra -8 til 8 i steg p?.5. I andre linje kopierer vi dette over til y
. S?angt er x
og y
en-dimensjonale arrayer som det ikke er mulig ??oen flate fra, men kommandoen meshgrid
krysser de to arrayene slik at vi f?en to-dimensjonal array med verdier jevnt fordelt i kvadratet [-8,8]x[-8,8] (merk at det her er brukt store bokstaver p?enstre side). I fjerde linje beregner vi s?erdien av funksjonen sin(x+y) i disse punktene og lagrer dette i Z
, f?mmandoen mesh
genererer plottet for oss.
Hvordan finne ut mer? Matlab har et ganske godt hjelpesystem. Ved ?rykke p?Help'-menyen ?t i vinduet og der velge 'MATLAB Help' f?du opp et vindu med hjelpedokumenter. Et greit sted ?egynne er 'Getting Started'. Da vil da f?pp en innholdsfortegnelse som blant annet inneholder 'Graphics'. Klikker du p?enne kan du blant annet velge mellom 'Basic Plotting' og 'Mesh and Surface Plots'. Velger du en av disse kan du f?er informasjon om det vi har sett p?ver.
Matlab er (som Mathematica) et interaktivt verkt?r du gir en kommando og f?utf?et du ber om med en gang. Dette er ofte en grei m? ?rbeide p??du utforsker et problem, men i mange sammehenger er det ogs?yttig ?unne programmere. Matlab har gode muligheter for dette, og med det du har l? om programmering i Java dette semesteret burde det ikke v? s?anskelig ?omme i gang med programmering i Matlab, se 'MATLAB Help' for mer informasjon.
Merk at Matlab ikke har muligheter for symbolske beregninger slik som Mathematica.
Redaksjon: Knut M?
Dokument endret: 14. november 2003