1 2 Alternativ dag for teoriforelesning Torsdag 12:15-14:00 R1 TDT4105 Informasjonsteknologi grunnkurs: Uke 35b Introduksjon til Matlab 09:15 10:00 R7 Jørn Amundsen Asbjørn Thomassen Roger Midtstraum 3 4 Intro Litt om problemløsning Generelt om Matlab programmering Octave Hvordan komme i gang Matlab Octave Terminologi for programmering Progdist for linux
5 6 Generelt om Matlab Hva er Matlab IKKE Opprinnelig et kommersielt dataprogram for matematiske beregninger utviklet av MathWorks Inc. Kan bruke det som en kalkulator De 4 regneartene: + - * / Elementære funksjoner som sin,cos osv. Datatyper som vektorer og tabeller Avansert flerdimensjonal graf-plotting En eller flerdimensjonale plott Animasjon Et programmeringsspråk Et prototypeverktøy for algoritmeutvikling Matlab er en forkortelse for Matrix laboratory, hjemmeside på http:// www.mathworks.com Er et prototypeverktøy, IKKE et produksjonsverktøy Et interpretert språk Ikke godt på parallel-beregning (flere-tråd) Ikke godt for symbolsk matte (formel-regning) Programmet Maple er bedre for dette, se f.eks: http://infoweb.ntnu.no/programmer/matematikk/maple.html 7 8 Octave og MathWorks Matlab MathWorks Matlab ved NTNU Programmeringsspråk Program for programmering i Matlab (forstår og utfører setninger i Matlabspråket) Matlab fra MathWorks Matlab Octave open source Sentralisert lisens for ansatte og studenter, se http://www.ntnu.no/adm/it/brukerstotte/programvare/ matlab for informasjon om tilgjengelighet og guide for installasjon på egen maskin. Fins flere lokale introduksjoner, se lenkesamling på http://itgk.idi.ntnu.no/lenker.php Tillatt med enbruker-installasjon på egen PC Kan virke forvirrende at Matlab både er navnet på et språk og et program!
9 10 MathWorks Matlab internasjonalt GNU Octave Matlab Matlab kan utvides med verktøykasser (toolboxes) for mange fagområder som statistikk, signalbehandling, nevrale nett og mye mer Mye deling av Matlab-programmer i internasjonal forskning Prøv å google litt på matlab! Åpen kildekode program (Open Source) for Matlabprogrammering Windows-versjon av Octave installeres enklest vha installer på http://octave.sourceforge.net/. Macintosh versjon finnes på samme sted som Windows. Alternativt kan du følge installasjon i ØF. For Linux-distribusjoner med yum eller apt: $ yum install octave # RPM/RedHat $ apt-get install octave # Debian/Ubuntu Relevante lenker http://en.wikipedia.org/wiki/matlab http://en.wikipedia.org/wiki/gnu_octave http://wiki.octave.org 11 12 Matlab eller Octave? Det korte svaret er bruk hva du vil! MATLAB er kommersiell programvare, mens Octave er OpenSource eller åpenkildekode Begge har sine fordeler og ulemper Matlab har en bedre GUI og er bedre dokumentert kommersielle MATLAB-lisenser er svært kostbare du har ingen eller liten innsyn i hvordan MATLAB er programmert brukerstøtte er inkludert i MATLAB Octave er gratis du er avhengig av å bruke nettet for å finne eller spørre om hjelp Octave er skrevet i C++ språket de fleste lærer etter IT-GK du kan utvide Octave vha C++ har du lyst til det Octave-programmet er lite, og kan installeres på små enheter, som f.eks. (noen) smart-telefoner Hvordan starter jeg Matlab/Octave? Windows: Velg Matlab eller Octave under menyen Programmer eller klikk på ikonet på Desktopen Mac: Velg Matlab eller Octave i mappa Programmer Linux Skriv inn kommandoen $ matlab nosplash eller $ matlab -nosplash -nojvm # kun kommandovindu eller $ octave eller legg inn et ikon på Desktopen som du kan klikke på Start Octave, skriv inn sombrero og sjekk hva som skjer!
13 14 Dokumentasjon Litt terminologi Kommandoen help <nøkkelord> gir en kort tekstlig forklaring på kommandoer og innebygde funksjoner. Kommandoen lookfor <nøkkelord> søker i kommando/funksjonsoversikten etter nøkkelordet Kommandoen doc <nøkkelord> åpner onlinemanualen Octave sin er en tekstbasert online-manual (GNU info) du kan bruke dette for ting du skriver selv hvis du dokumenterer programmene dine på samme måte som Octave gjør Octave har en bra HTML brukerhåndbok på http://www.gnu.org/software/octave/doc/interpreter En datamaskin utfører programmer Programmer kan kjøre andre programmer (f.eks. Linux/ Windows) Programmer består av instruksjoner som prosessoren kan utføre I interpreterte språk som MATLAB/Octave gjøres programsetninger om til instruksjoner etter hvert I grunnkurset bruker vi uttrykket Matlab programmering som fellesnevner på språket vi kan kjøre i MATLAB eller Octave 15 Litt terminologi (2) Hvordan ting skrives kalles for programmeringsspråkets syntaks, tilsvarende rettskriving/ortografi på Norsk det er ofte forvirrende for nybegynnere at den samme tingen kan skrives på mange forskjellige måter også forvirrende at ting som er skrevet på en måte kan bety forskjellige ting, avhengig av sammenheng (eks parenteser) Finn deg din stil og hold deg til den! men bruk viktige tommelfingerregler for lesbarhet som vi skal lære etterhvert 16 Progdist fra Linux [ikke pensum] All programvare NTNU har anskaffet for studenter og ansatte fra Progdist for Windows, Linux og Mac Generell informasjon om Progdist fins på http://infoweb.ntnu.no/programmer/generelt/ progdistinfo.html Det er enklest å koble seg opp til Progdist fra Linux ved cifs-montering i et terminalvindu: # mkdir -p /mnt/progdist # mount -t cifs //progdist.ntnu.no/ progdist /mnt/progdist -ouser=asbjornt
17 18 Progdist fra Linux (2) Bruk av MathWorks Matlab Arbeidskatalog Kommandovindu Arbeidsområde Du må være administrasjonsbruker (root) Du må være på NTNUs nett Bruk din NTNU-bruker (ikke min) Dette er mest relevant for campus-programvare som Matlab o.l., friprogramvare installeres mest effektivt direkte fra nettet med yum eller apt-get Kommandologg 19 Matlab innebygde editor 20 Bruk av GNU Octave (terminalvindu) kommandovindu prompt
21 TexWrangler som editor i Octave