Octave 3.2.4 i kursen experimentella metoder av Sten Hellman Omarbetat av Johan Ahrens och Henrik Öberg Övningsuppgifter av Johan Ahrens, Henrik Öberg, Elin Bergeås Kuutmann, Sten Hellman, Max Karlovini, Teresia Månson, Jonas Strandberg & Linda Östman
ii 1:a upplagan, Stockholm 2011. c Sten Hellman, Stockholms universitet.
Innehåll 1 Inledning 1 1.1 Vad är Octave?................................... 2 1.2 Konventioner.................................... 2 2 Att komma igång 3 2.1 Börja jobba med datorn.............................. 3 2.1.1 Logga in på datorn............................. 3 2.1.2 Logga ut från datorn............................ 3 2.2 Att navigera på datorn............................... 4 2.2.1 Minne och hårddisk på en dator..................... 4 2.2.2 Skaffa mer diskutrymme.......................... 5 2.2.3 Filnamn och Sökvägar........................... 5 2.2.4 Fullständiga filnamn............................ 6 2.2.5 Aktuell katalog............................... 7 2.2.6 Var skall jag spara filer.......................... 7 3 Ordbehandling med OpenOffice writer 9 3.1 OpenOffice..................................... 9 3.2 Allmänna kommentarer.............................. 9 3.3 Textbehandling................................... 10 3.3.1 Typsnitt................................... 11 3.3.2 Storlek på texten.............................. 11 3.3.3 Fet, kursiv och understruken text..................... 11 3.3.4 Att justera texten............................. 12 3.3.5 Att göra en rubrik............................. 12 3.4 Egna formatmallar................................. 13 3.5 Lägga till knappar till verktygsfältet....................... 14 3.6 Sidbrytning..................................... 14 3.7 Sidnumrering.................................... 14 3.8 Fotnoter....................................... 15 3.9 Numrerade listor.................................. 15 3.10 Tabeller....................................... 16 3.10.1 Tabelltext.................................. 17 3.10.2 Omvandla värden från Octave till en tabell i OpenOffice........ 17 3.11 Figurer....................................... 19 3.11.1 Ankra bilder................................ 19 3.11.2 Figurtext.................................. 19 3.11.3 Infoga figur från OpenOffice Draw.................... 19 3.12 Speciella symboler................................. 19 3.13 Ekvationer...................................... 20 3.13.1 Text i formler................................ 22 iii
iv INNEHÅLL 3.13.2 Numrera ekvationer och formler..................... 23 3.14 Spara dokument.................................. 23 3.15 Spara i pdf-format................................. 23 3.16 Övningsuppgifter.................................. 24 4 Komma igång med Octave 25 4.0.1 Octaves kommandofönster......................... 25 4.0.2 De första stegen - Hello World..................... 25 4.0.3 Octaves hjälpfunktion........................... 26 4.0.4 Avsluta Octave............................... 26 4.1 Börja räkna..................................... 27 4.1.1 Octave som en räknedosa......................... 27 4.1.2 Operatorer................................. 27 4.1.3 Variabler.................................. 27 4.1.4 Konstanter................................. 29 4.2 Miljön i Octave................................... 30 4.2.1 Städa upp kommandofönstret: tyst input, fortsättningsrader..... 30 4.2.2 Format och avrundning.......................... 30 4.2.3 Octaves Workspace........................... 31 4.2.4 Play it again Sam - att upprepa kommandon............. 31 4.2.5 Att återkalla kommandon......................... 32 4.2.6 Var söker Octave efter filer........................ 32 4.3 M-filer........................................ 33 4.3.1 Editera m-filer............................... 34 4.3.2 Notepad++................................. 34 4.3.3 Att spara en m-fil på disk......................... 34 4.3.4 Läsa in och köra en m-fil......................... 35 4.3.5 Kommentarer................................ 35 4.3.6 In- och utmatning av data till M-filer.................. 36 4.3.7 Paus i utskriften.............................. 37 4.3.8 Namngivning av M-filer.......................... 37 4.4 Övningsuppgifter.................................. 38 5 Vektorer och matriser Inbyggda funktioner 39 5.1 Litet om vektorer................................. 39 5.1.1 Skapa vektorer............................... 39 5.1.2 Räkna med vektorer............................ 40 5.1.3 Elementvisa operationer.......................... 40 5.2 Kort om matriser.................................. 41 5.2.1 Räkna med matriser............................ 42 5.2.2 Matrisdivision............................... 43 5.3 Inbyggda funktioner................................ 43 5.3.1 Operationer på skalärer.......................... 43 5.3.2 Operationer på vektorer.......................... 43 5.3.3 Operationer på matriser.......................... 44 5.4 Övningsuppgifter.................................. 47
INNEHÅLL v 6 Programmering 49 6.1 Börja programmera................................. 49 6.2 Villkorssatser.................................... 50 6.3 Slingor........................................ 51 6.3.1 for-slingor.................................. 51 6.3.2 while-slingor................................ 52 6.3.3 Att hoppa ut ur en slinga - kommandot break.............. 53 6.4 Funktioner..................................... 54 6.4.1 Syntaxen för funktioner.......................... 54 6.4.2 help för en funktion............................ 55 6.4.3 Testa antalet argument.......................... 55 6.5 Programmeringsfilosofi/teori............................ 56 6.5.1 Design av programmet........................... 57 6.5.2 Dokumentation av programmet...................... 58 6.5.3 Goda vanor................................. 58 6.6 Mer om programmering och funktioner...................... 59 6.6.1 Linjär korrelationskoefficient....................... 60 6.6.2 Viktad anpassning till rät linje...................... 61 6.6.3 Viktad anpassning och plottning av rät linje............... 62 6.7 Övningsuppgifter.................................. 65 7 När det blir fel 67 8 2D-Grafik 69 8.1 Kurvor i två dimensioner............................. 70 8.1.1 Att växla mellan fönster, och städa i fönster............... 70 8.1.2 plot-kommandot.............................. 70 8.1.3 Styra utseendet på grafiken........................ 71 8.1.4 Koordinataxlar.............................. 72 8.1.5 Text..................................... 73 8.2 Plotta punkter med fel............................... 73 8.3 Histogram...................................... 74 8.3.1 Kommandot bar - stapeldiagram..................... 74 8.3.2 Kommandot hist - histogram....................... 74 8.3.3 Kommandot stairs - konturdiagram.................... 75 8.3.4 Kommandot stem - stolpdiagram..................... 75 8.4 Utskrifter av grafik................................. 75 8.5 Spara grafer och flytta till andra program.................... 75 8.5.1 Lägga in bilder i OpenOffice dokument.................. 76 8.6 Fler Kurvor i samma graf - kommandot hold................... 76 8.7 Fler grafer i samma fönster - kommandot subplot................ 77 8.8 Rita i grafer..................................... 77 8.9 Logaritm-skalor................................... 79 8.10 Övningsuppgifter.................................. 80 9 Beräkningar och anpassningar 81 9.1 Enkel statistik................................... 81 9.2 Polynom....................................... 81 9.2.1 Hitta rötter till polynom.......................... 81 9.2.2 Finn polynomuttryck för givna rötter.................. 82 9.2.3 Värden på polynom............................ 82 9.2.4 Derivator av polynom........................... 82
vi INNEHÅLL 9.2.5 Produkter och kvoter av polynom.................... 82 9.3 Matrisekvationer.................................. 82 9.4 Minsta kvadratanpassning............................. 83 9.5 Minsta kvadratanpassning med matrismetod................... 85 9.6 Övningsuppgifter.................................. 87 10 Text-strängar, formattera text, mer om grafik 89 10.1 Text-strängar.................................... 89 10.1.1 Manipulera textsträngar.......................... 89 10.1.2 Delsträngar................................. 89 10.2 Formaterad in- och utmatning........................... 90 10.2.1 Läs data och strängar från kommandofönstret - kommandot input... 90 10.2.2 Formatera strängar för utmatning - Formatkoder och kommandot sprintf 91 10.3 Avancerad grafik.................................. 93 10.3.1 Fler grafikfönster - kommandot figure.................. 93 10.3.2 Handtags-grafik............................... 93 10.4 3-D grafik...................................... 94 10.4.1 Kurvor i rymden - plot3.......................... 94 10.4.2 Funktionsytor - mesh och surf....................... 95 10.4.3 Att styra utseendet av en 3D-graf.................... 95 10.4.4 Konturplottar och projektioner...................... 96 10.5 Övningsuppgifter.................................. 97 A Syntax för formler i OpenOffice 99 A.1 Unary and binary operators............................ 99 A.2 Relations...................................... 100 A.3 Set symbols..................................... 101 A.4 Functions...................................... 102 A.5 Operators...................................... 103 A.6 Attributes...................................... 104 A.7 Others........................................ 105 A.8 Brackets....................................... 106 A.9 Formatting..................................... 107 B Svar och lösningar 109 B.2 Svar till kapitel 4.................................. 109 B.3 Svar till kapitel 5.................................. 109 B.4 Svar till kapitel 6.................................. 110 B.7 Svar till kapitel 8.................................. 113 B.9 Svar till kapitel 10................................. 115
Kapitel 1 Inledning Det här kompendiet är avsett att användas i kursen Experimentella metoder i fysiken som ingår i första årskursen i kandidatprogrammet i fysik vid Stockholms Universitet. Kompendiet är inte avsett att vara en komplett kurs i Octave utan strävar efter att ge en introduktion till programmet och mer detaljerade kunskaper inom de områden som är nödvändiga för kursen Experimentella metoder. Tonvikten ligger inom två områden: beräkningar för att behandla mätvärden från laborationer och grafisk presentation av mätdata och resultat, främst då 2D-grafik. Detta upplägg innebär att en del områden nästan inte alls kommer att beröras, som till exempel komplexa tal, 3D-grafik, mer avancerade matematiktillämpningar och modellering. Vi är dock förvissade om att man efter att ha följt kursen har så goda kunskaper i att använda Octave att det skall vara relativt enkelt att på egen hand läsa in andra områden varefter behovet av det uppstår. Programmet Octave har en mycket väl utvecklad hjälpfunktion, men som med alla andra program kan det vara svårt att veta vad man skall be om hjälp med innan man har nått en viss kunskapsnivå. Dessutom kan det ibland vara besvärligt att vara hänvisad till engelska termer. För att träna upp det interaktiva hjälpsökandet använder kompendiet hänvisningar till Octaves egen dokumentation. Kompendiet är skrivet i avsikt att läsas i en följd, många avsnitt bygger direkt på tidigare avsnitt, en hel del av de exempel som ges förutsätter att föregående exempel har körts. Kompendiet innehller exempel och övningsuppgifter som är skapade med syftet att ge en bra introduktion till det aktuella avsnittet men också att ge en grund för att underlätta arbetet med laborationerna som ingår i kursen. Kompendiet har vid det här laget en lång historia. Tidigare har vi på fysikum använt Matlab och ComsolScript istället för Octave. Octave är ett gratisprogram som använder samma syntax som kursens föregångare. Har man lärt sig Octave är det alltså mycket enkelt att använda Matlab eller ComsolScript, och vice versa. Detta kompendium är därför i stort sett bara en översättning av den fjärde upplagan av motsvarande kompendium för ComsolScript som är skrivet av Sten Hellman, vilket var en uppdatering av programmeringskompendiet som användes för Matlab i samma kurs. Det går i sin tur tillbaka till ett kompendium av Hans Mühlen - MATLAB - som kom i flera upplagor under åren 1987-93. Sedan den första versionen av Matlab-kompendiet producerades har många fel rensats ut och många förbättringar gjorts med hjälp av de doktorander som arbetat som assistenter på kursen: Elin Bergeås Kuutman, Erik Bäckström, Annelie Ehlerding, Attila Hidvégi, Max Karlovini, Teresia Månsson, Jonas Strandberg och Linda Östman. Björn Selldén har bidragit med en mängd korrigeringar och förbättringar. Tack för hjälpen! Avsnittet om ordbehandling skrevs ursprungligen av Jonas Strandberg för Microsoft Word. När vi vårterminen 2006 bytte ordbehandlingsprogram till OpenOffice så har detta kapitel skrivits om av mig, men strukturen går tillbaks på det ursprungliga kapitlet av Jonas. Elin Bergeås Kuutman och Linda Östman har bidragit med flera tips till detta avsnitt. 1
2 KAPITEL 1. INLEDNING 1.1 Vad är Octave? Octave är en öppen programvara registrerad under GNU GPL som fokuserar på matematiska beräkningar och grafisk presentation. Octave-paketet har en mängd utbyggnadsmöjligheter med färdiga moduler och kan användas för ett stort antal mer eller mindre specialiserade beräknings- och simuleringsuppgifter. I den här kursen, och även i övrigt här på fysikum, använder vi oss av Octave dels för att skriva program för att genomföra beräkningar, till exempel för att bearbeta labbresultat, dels för att presentera resultat i grafisk form. Som alla andra program har Octave sina styrkor och svagheter. Namnet MATLAB stod urspungligen för MATrix LABoratory, och även om MATLAB-familjen (dit vi räknar Octave) har utvecklats enormt sedan det döptes så är matrishanteringen fortfarande en av de starka sidorna hos Octave, något som kommer att komma till stor användning under den här kursen. Rent allmänt är Octave väldigt förlåtande, man behöver till exempel inte - som i de flesta högnivåspråken för programmering - göra skillnad mellan heltal och decimaltal. Man behöver inte heller i förväg tala om hur stora vektorer skall vara. Det finns gott stöd för att producera grafik, men det kan i början kännas litet avigt att man inte enkelt kan plotta sin(x) mot x, utan först måste man konstruera en vektor med x-värden och en annan vektor med y-värden och sedan plotta dem mot varandra. Vi skall också komma ihåg att Octave är ett matematikprogram, inte ett ordbehandlingsprogram. Vi kommer alltså att behöva komplettera vår arsenal med ett program som hanterar text och figurer för att kunna producera dokumentationen av våra experiment. 1.2 Konventioner I detta kompendium används endast ett fåtal typografiska konventioner. En är när vi visar exakt hur det ser ut när man skriver in kommandon i Octaves kommandofönster och får output tillbaks till det fönstret. Sådana exempel visas inom en ram: > Kommandot som skrivs in Respons från Octave Ibland refererar vi till kommandon och variabler i löpande text, och markerar då detta med ett särskilt typsnitt: a = sin(x). Referenser till Octaves manual skrivs med initialt? och särskilt typsnitt, t.ex.? 1. A Brief Introduction to Octave Hur man använder en sådan referens för att söka ett avsnitt i dokumentationen beskrivs i avsnitt 4.0.3. Notera också att Octave använder den anglosaxiska konventionen där decimalkommat inte skrivs med komma utan med punkt. Således är 2,3 ett talpar medan 2.3 är ett decimaltal.
Kapitel 2 Att komma igång 2.1 Börja jobba med datorn Efter det första dataövningspasset skall du kunna: Logga in på ditt studentkonto på Fysikums datorer Starta Octave Använda Octave som en enkel mini-räknare använda M-filer och spara dessa på disk. 2.1.1 Logga in på datorn. Hur man loggar in på datorerna på övningslabbet kommer troligen att variera med tiden. Det beror också på vilket operativsystem den dator du skall arbeta vid använder. Här beskrivs hur det går till att logga in på en dator som kör operativsystemet Windows under vårterminen 2011. Skulle du misslyckas att komma in på det sätt som beskrivs här kan det bero på att förhållandena ändrats, så fråga en assistent om du är tveksam. I normalfallet kommer datorn att visa upp en inloggningsruta på skärmen som schematiskt kan se ut på de två sätt som visas till höger. Du kan växla mellan de två rutorna genom att klicka på options -knappen längst ned till höger. Du ska logga in med skärmen i det läge som syns till höger i bilden, med tre rader och pilarna till vänster om texten options. På den understa av de tre raderna skall du välja WINADSU. Skriv sedan in ditt användarnamn och lösenord för ditt SU-konto. Om du inte kan se inloggningsrutan på skärmen så prova Ctrl-Alt-Delete, dvs tryck samtidigt ned tangenterna Ctrl, Alt och Delete. När du loggar in på detta vis har du full tillgång till dina mappar under SU-kontot. Din huvudkatalog på ditt SU-konto kan du hitta under My Computer \ abcd1234 on win.su.se (där abcd1234 skall bytas ut mot ditt användarnamn på SU-kontot) 2.1.2 Logga ut från datorn När du har jobbat klart och skall lämna datorn trycker du på Windows-symbolen längst ned till vänster. Längst ned i den meny som kommer upp står Log off abcd1234. Klicka där. 3
4 KAPITEL 2. ATT KOMMA IGÅNG 2.2 Att navigera på datorn Att hålla ordning på alla filer som skapas under ett projekt, som till exempel en laboration eller en Octave övning kräver disciplin. Det är naturligtvis extra viktigt att man tänker sig för i en miljö som den på ett övningslab, där många användare använder samma dator. Innan vi går igenom hur man bör arbeta gör vi först en allmän genomgång över hur program på en dator hanterar disk och minne. 2.2.1 Minne och hårddisk på en dator Ett program som kör på en dator hanterar två typer av information, dels instruktioner - det vi i dagligt tal kallar programmet, som styr datorn och på lägsta nivån talar om för datorn hur den skall utföra olika kommandon, dels data som är vad programmet opererar på. Sett ur det här perspektivet håller ett program som t.ex. Octave reda på två saker när vi till exempel skriver 2 + 2 : dels vad instruktionen x + y innebär och hur programmet skall genomföra den operationen, denna information är det vi kallar instruktioner. Sedan måste programmet också hålla reda på vad x och y är i just den aktuella beräkningen, och spara svaret någonstans, den typen av information kallas data. Den här informationslagringen kan ske på två ställen, antingen på hårddisken eller i datorns internminne. Det finns några skillnader i egenskap hos dessa två lagringsmedia: hårddisken är permanent, i betydelsen att så länge allting fungerar som det skall så finns all information som lagras på hårddisken kvar så länge som man inte uttryckligen raderar den 1. Internminnet å andra sidan är temporärt i två avseenden, dels så överlever ingen information i internminnet att datorn stängs av, dels är det till och med så att då ett program avslutas så raderas all information som programmet sparat i minnet. En annan skillnad mellan hårddisk och internminne är att det går mycket snabbare att komma åt data som finns i minnet (oftast talar man om internminnet som bara minnet ) än på disken. Med det här som bakgrund kan vi nu förstå litet bättre vad som händer när vi kör ett program. Eftersom programmet måste finnas kvar varje gång vi startar datorn så måste själva programmet finnas lagrat på hårddisken. Eftersom det tar lång tid att hämta instruktioner som finns lagrade på hårddisken så vill man inte att programmet skall gå och hämta varje instruktion för sig från hårddisken, det skulle dels göra programmet mycket långsamt och dels skulle datorns disk stå och surra hela tiden. Ett program som startar reserverar därför ett stycke minne för instruktioner och kopierar in de mest centrala dit och läser dem direkt därifrån. Skulle programmet träffa på en instruktion som inte finns inkopierad till minnet så går den ut på hårddisken och läser in denna instruktion, men inte bara en enstaka instruktion, utan ett block med instruktioner som ofta används tillsammans. Ett välkonstruerat program behöver därför inte gå ut och läsa från den långsamma disken särskilt ofta, utan håller sig för det mesta till den kopia av instruktionerna som finns i minnet. 2 Samtidigt reserverar programmet en annan del av minnet för att lagra data. 1 Kom ihåg dock att datorerna på övningslabb regelbundet städas och att alla användarfiler tas bort. Det enda ställe där du kan vara säker på att spara dina filer är på ditt afs-konto. 2 När vi lärt oss det här om hur datorer fungerar kan vi förstå två saker: Dels varför vissa program ibland kan gå så sagolikt långsamt. Om minnet börjar ta slut, det vill säga om det inte finns något ledigt minne kvar att reservera, vilket kan hända när vi kör många program samtidigt, så kan ett program inte reservera tillräckligt stora delar av minnet för att lagra så många instruktioner så att det kan köra effektivt. Istället måste programmet ut och titt som tätt läsa instruktioner från den långsamma disken. Det här leder till sega program som svarar långsamt på våra kommandon. Vi förstår nu också varför program kraschar. I nio fall av tio (minst) beror det på att program A (ofta tillverkat av Microsoft) har skrivit till exempel data i en del av minnet som program B reserverat för sina instruktioner. I stället för instruktioner om hur programmet skall hantera x + y står det någonting helt annat, som programmet helt oskyldigt försöker genomföra med resultatet att allting hänger sig. Ibland är program A och B identiska, ett program kan skriva över sina egna instruktioner.
2.2. ATT NAVIGERA PÅ DATORN 5 Eftersom instruktionerna bara är en kopia av det som finns lagrat på hårddisken så påverkas inte programmets funktion av en eventuell krasch med efterföljande omstart, det är ju bara att skapa en ny kopia av instruktionerna från hårddisken. Data däremot flyger all sin väg. När programmet avslutas, frivilligt eller ofrivilligt, så är all information som lagrats i minnet borta. Om man nu har lagrat priserna för ett stort antal olika sorters godis i Octaves arbetsminne och räknar med att behöva använda den listan igen vid ett senare tillfälle så vill man naturligtvis kunna spara listan även efter det att Octave avslutats för den här gången. Det går att göra, vi kan från Octave spara innehållet i minnet på hårddisken, vi kan också skapa separata filer med data och/eller Octave-kommandon som sparas på hårddisk och som vi sedan läser tillbaks, sk M-filer. Detta kommer att bli det sätt vi normalt arbetar med Octave. Genom att spara allt på hårddisk är det enkelt att gå tillbaks och göra smärre korrektioner och modifieringar och framför allt: vi kommer att spara mycket arbete genom att vi kan återanvända kod-snuttar från tidigare övningar. 2.2.2 Skaffa mer diskutrymme Experimentella metoder är en mycket datororienterad kurs. Ganska snabbt kommer därför ditt tillgängliga diskutrymme att ta slut. Du kan enkelt göra det större genom att logga in via webportalen Mitt Universitet. Du loggar in genom att öppna en webbläsare och i adressfältet skriva in mitt.su.se. Första gången du gör det här kan det hända att du får upp varningsrutor om säkerhetscertifikatet. Godkänn alla certifikaten. Användarnamn och lösenord är samma som för att logga in på datorn. När du loggat in klickar du på länken Kontohantering i mitten längst upp. I den vänstra kolumnen finns en rubrik som heter Quota och till höger om den finns en länk Ändra. Klicka på den och ändra sedan ditt diskutrymme med hjälp av rullisten till höger om Öka till. 2.2.3 Filnamn och Sökvägar Varje fil på en dator måste ha ett unikt namn som fungerar som en sorts adresslapp. Precis som när vi identifierar personer genom namn och en hierarki av adresser alltifrån gata med portnummer upp till städer och länder så har en datoradress flera nivåer. På den lägsta nivån talar vi om filnamn, som till exempel rapport2.text, laboration4.m osv. Varje fil måste vara placerad i en katalog (engelskans directory, på svenska kan vi också kalla det mapp ). Katalogen kan i sin tur vara inplacerad i en annan katalog, och så vidare. Det är klokt att försöka organisera en trädstruktur av kataloger som logiskt delar upp de filer man äger i avgränsade undergrupper som i exemplet nedan.
6 KAPITEL 2. ATT KOMMA IGÅNG labbar lab1 lab2 lab3 Rapport Rådata Rapport utkast1 utkast1 Vi ser hur det finns en textfil som heter utkast1 i katalogen rapport. Katalogen rapport ligger i sin tur i katalogen lab1, som ligger i katalogen labbar och så vidare. I en given katalog kan det bara finnas en fil med samma namn, vilket inte är så konstigt, hur skulle datorsystemet annars förstå t ex vilken fil vi ville skriva ut när vi ger ett print-kommando. Men precis som brevbärarna inte bara kan hantera en Sven Andersson utan kan hålla isär Sven Andersson på Linnégatan från Sven Andersson på Kungsgatan, och Sven Andersson på Linnégatan i Göteborg från Sven Andersson på Linnégatan i Stockholm så kan datorn, om vi bara ger hela adressen, hålla isär en fil som heter utkast1 i katalogen rapport i katalogen lab2 från en fil som heter utkast1 i katalogen rapport i katalogen lab1. För att vara säkra på att vi och datorn förstår varandra när vi refererar till filer så måste vi reda ut två saker. Dels hur man anger att det är filen utkast1 som finns i trädet under lab1 och inte filen med samma namn i trädet under lab2, det vill säga hur bär vi oss åt för att skriva en fils fullständiga namn, inklusive katalogtillhörigheten (detta kallas på engelska path). Den andra saken vi måste förstå är något som kallas den aktuella katalogen och som avgör hur datorn tolkar våra kommandon när vi bara ger filnamnet och ingen information om katalogtillhörigheten. 2.2.4 Fullständiga filnamn Ett fullständigt filnamn i operativsystemet Windows börjar med namnet på hårddisken. Den dator du arbetar på kan nämligen ha mer än en hårddisk, och det kan också vara så att du över nätverket kan ha tillgång till hårddiskar som inte fysiskt finns på just den datorn du arbetar vid, som till exempel de filer du lagrar på ditt AFS-konto. När du loggat in på ditt AFS-konto (se intstruktioner på http://www.physto.se/afs/konton windows.html) så kommer det att se ut som om de filer du lagrat där ligger på en disk på den dator du jobbar vid med namnet Z. (Observera att vilken bokstav som AFS-disken får kan variera från gång till gång, beroende på historien på den dator där du jobbar). I filnamnet följs disknamnet av kolon, därefter \ ( backslash ) och sedan namnen på katalogerna, separerade med backslash. Om vi till exempel antar att katalogen Sten ligger i en katalog USERS som inte har någon katalog över sig på Z-disken så blir den fullständiga adressen till filen utkast1: Z:\USERS\Sten\Expkursen\labbar\lab1\rapport\utkast1. Även kataloger kan adresseras på detta sätt, katalogen för lab1 har adressen Z:\USERS\Sten\ Expkursen\labbar\lab1. De flesta filnamn har också en sk. extension, dvs namnet har formen namn.extension, till exempel utkast1.txt. Den del av namnet som står efter punkten, det vi kallar extension
2.2. ATT NAVIGERA PÅ DATORN 7 används oftast för att ange vilken typ av fil det är, som t.ex..txt för textfiler,.pdf för pdf-filer och.m för Octaves m-filer. Det kan vara klokt att inte använda de möjligheter som bjuds i Windows-systemet att t ex använda svenska bokstäver i filnamn, eftersom det kan skapa svårigheter när man vill komma åt filer via mitt.su. Håll dig till samma regler som för variabelnamn i Octave, dvs inga svenska tecken och inga mellanslag. 2.2.5 Aktuell katalog Varje gång vi vill spara en fil från ett program så finns det ett förstahandsalternativ, en katalog där programmet vi arbetar i sparar filer om inte användaren aktivt väljer en annan katalog. Denna katalog kallas aktuell katalog (engelska current directory ). Det är alltså här filer hamnar om vi inte aktivt anger en annan katalog. Exakt vilken katalog som är den aktuella kan variera från fall till fall. De flesta program har en katalog någonstans i den katalogstruktur som hör till programmet som används i standardfallet. Öppnar vi Microsoft Word och skapar ett nytt textdokument så sparas det i en katalog som hör till programmet, snarare än i en katalog som hör till dig som användare. Om vi däremot öppnar ett redan existerande dokument genom att dubbelklicka på det, gör några ändringar och sparar det under ett nytt namn så hamnar det i samma katalog som det ursprungliga dokumentet låg. Oftast bereder det oss inte någon större möda att hålla rätt på detta, när vi sparar ett dokument så öppnas ju en dialogruta där vi tydligt kan se i vilken katalog dokumentet hamnar, och vi kan välja en annan katalog. Vi kommer att se att det i Octaves kommandofönster finns ett antal kommandon som har med kataloghantering att göra. Vi kan finna vilken katalog som är aktuell genom att i kommandofönstret skriva pwd. Vi kan se vilka filer som finns i det aktuella katalogen genom att skriva ls. För att ändra aktuell katalog ger vi kommandot cd katalognamn. När vi gör det kan vi använda två konventioner, antingen ger vi katalognamn som den absoluta adressen, dvs en adress av typen Z:\Expkursen\labbar\lab1, en adress som börjar med namnet på disken och sedan fortsätter hela vägen ned till den katalog eller fil vi är intresserade av. Alternativt kan vi ge den relativa adressen, det vill säga adressen relativt det som är aktuell katalog. Om den aktuella katalogen är Z:\Expkursen så kan vi ge den relativa adressen till samma katalog som ovan genom att skriva cd labbar\lab1. Ger vi en relativ adress så måste den börja med en katalog som ligger i det som för tillfället är den aktuella katalogen. En speciell variant av en relativ adress är.. (två punkter efter varandra) som pekar på den katalog närmast högre upp i strukturen. Om den aktuella katalogen är Z:\Sten\ Expkursen\labbar så kommer kommandot cd.. att ändra den aktuella katalogen till Z:\Sten\Expkursen. 2.2.6 Var skall jag spara filer Eftersom vi arbetar på datorer som används av många personer måste vi vara noggranna med var på hårddisken vi sparar data så att vi inte lämnar efter oss en massa skräp som andra inte är intresserade av. Likaledes är det kanske inte särskilt attraktivt att behöva återvända till exakt samma dator vid nästa arbetspass. Det finns egentligen bara två areor som inte är allmänna, det vill säga som används av alla som använder datorn. Den ena är användarkataloger på arbetsdisken. Arbetsdisken komer normalt att vara D-disken, och de kataloger som används för temporära filer heter antingen D:\Users, D:\Users\Students eller D:\Students. För tillfälligt sparande av personliga filer kan man skapa en underkatalog till denna katalog med sitt eget namn. Men kom ihåg att denna katalog bara kan ses på just denna dator. Använd därför den katalogen bara för temporär lagring under ett arbetspass. Filer som man vill spara för längre tid och kunna komma åt oavsett vilken dator man sitter vid skall sparas på den diskarea som hör till ditt SU-konto. För att ha en rimlig chans att hitta sina sparade data bör man ha en tydlig indelning i olika kataloger som var och en hör samman med ett tydligt delprojekt. Så till exempel bör du
8 KAPITEL 2. ATT KOMMA IGÅNG antagligen ha en katalog för varje kurs du följer. När vi kommit igång med labbandet är det antagligen bekvämt att ha en katalog som heter Laboration1 exempelvis med underkataloger data, m-filer, rapport mm. Under övandet med Octave bör man därför skaffa sig kataloger som t.ex pass1 och sedan lägga dem i en katalog som kallas Octaveovningar. Namn på katalogerna är givetvis helt fritt att välja, men det bör vara en logisk struktur där alla filer i en given katalog hör ihop, och har namn som gör att man förstår vad det är för fil utan att behöva öppna den och titta efter. Vartefter som du börjar bygga upp ett bibliotek av standardfiler (t ex sådana som beräknar normalfördelningen) som du tror att du kan komma att använda i olika projekt så bör du kanske spara dessa i en bibliotekskatalog som inte är direkt associerad med en specifik kurs eller laboration. Observera att alla filer som sparas på allmänna områden riskerar att raderas, antingen av misstag av någon av dina kollegor, eller också av systemansvariga när de städar upp på datorns hårddisk.
Kapitel 3 Ordbehandling med OpenOffice writer 3.1 OpenOffice OpenOffice är en serie program som erbjuder ungefär samma funktionalitet som Microsofts Office-paket. På Fysikum har vi gått över från Microsofts produkter till OpenOffice av flera skäl: OpenOffice är en öppen källkod och kan laddas ned gratis. Programmet finns för fler operativsystem än Microsofts produkter, framför allt så finns programmen även för operativsystemet Linux som är vanligt att anända på Fysikum. Dessutom är OpenOffice.writer mycket bättre på att hantera formler än vad motsvarande Microsoft produkt är. Det är möjligt att byta filer mellan OpenOffice och Microsofts program men kompatibiliteten är inte 100-procentig, i synnerhet inte när man använder formler och symboler. Men i dessa fall är inte kompatibiliteten 100-procentig även om man bara skulle byta mellan två Microsoftprogram under olika operativsystem. För dig som student innebär det här att du fritt kan ladda ned OpenOffice till din hemdator från http://www.openoffice.org/. Vi på Fysikum hjälper gärna till om du stöter på svårigheter med detta. OpenOffice har en hjälpfunktion som är användarvänlig och praktisk. Du öppnar den genom att gå in i Help menyn och välja OpenOffice.org Help. Du får då upp ett fönster där hjälpfunktionerna för hela OpenOffice paketet finns tillgängliga. 3.2 Allmänna kommentarer Du startar OpenOffice genom att först trycka på knappen som det står Start på, alltså knappen som har Windows-loggan på sig, som sitter i nedre vänstra hörnet. I den meny som sedan kommer upp trycker du på alternativet Programs, sedan OpenOffice.org3.0 och till sist OpenOffice.org Writer i den meny som då kommer upp. Oftast ligger det även en ikon märkt OpenOffice på skrivbordet, i så fall är det naturligtvis enklare att bara dubbelklicka på den. Längst upp på fönstret som öppnas finns en blå list. Om du tar musen och trycker med vänsterknappen på listen och håller den nedtryckt så kan du flytta runt fönstret tills det att du släpper knappen. Under listen finns OpenOffice s menyer som heter File, Edit, Show och så vidare. Om du trycker på ett av dessa ord kommer en meny att öppna sig där du kan välja mellan menyns alternativ. Under raden med menyer finns det som kallas verktygsfältet. I verktygsfältet finns en mängd knappar och vi kommer att nämna de viktigaste som du bör känna till i detta dokument. Om du för musen över en knapp och håller den still där utan att trycka på någon musknapp så kommer en liten gul hjälpruta där det står vad knappen gör att visa sig. Testa detta! Under verktygsfältet sitter 9
10 KAPITEL 3. ORDBEHANDLING MED OPENOFFICE WRITER något som ser ut som en linjal, denna används för att sätta bredden på marginalerna på det dokument du ska skriva. Under denna linjal finns slutligen själva fönstret där du kan skriva in din text. När du startar OpenOffice ser det bara ut som ett tomt papper. På det tomma pappret kan du se ett blinkande vertikalt streck som kallas för markör. Markören talar om var den text du skriver in kommer att hamna. Du kan flytta runt markören med hjälp av piltangenterna, eller genom att klicka med musen på det ställe du vill att markören ska flytta sig till. 3.3 Textbehandling När du startat OpenOffice writer är det bara att börja skriva in text direkt. Man kan ändra utseendet på den text man skriver på många olika sätt. De vanligaste sakerna man kan vilja ändra på själva texten är vilket typsnitt (på engelska font ) man använder, vilken storlek texten har, om texten är fet, kursiv, eller understruken och hur texten är justerad (vilket vi visar lite senare). Att markera text Flera gånger i de här instruktionerna kommer vi att uppmana dig att markera någon textsnutt. Du markerar text genom att klicka med musen (vänster musknapp, när vi skriver klicka med musknappen avses alltid vänster musknapp om inget annat sägs) framför det första ordet i stycket du vill markera och sedan hålla nere musknappen medan du drar musen till det sista ordet du vill markera och sedan släpper musknappen. Testa att skriva in några ord i OpenOffice och att sedan markera dem. Man kan också markera ett helt ord genom att först klicka någonstans i ordet och sedan dubbelklicka med musen. Klickar man tre gånger i snabb följd markeras hela meningen, medan fyra snabba klick markerar hela stycket. Klippa ut, Kopiera och Klistra in text Det är ofta man vill flytta runt saker man skrivit i ett dokument och då gör man det enklast genom att kopiera eller klippa ut den text man vill flytta och sedan klistra in den på det nya stället där man vill ha texten. Skillnaden mellan att kopiera och att klippa ut en bit text är att om du kopierar den så finns texten kvar där den står från början medan om du klipper ut den så försvinner den (men du kan alltid klistra in den igen). För att kopiera en bit text markerar du först texten. Sedan finns det fyra alternativa sätt att gå till väga och du ska använda det sätt du tycker är bekvämast. Det första sättet är att öppna menyn Edit genom att klicka på den, och sedan klicka på Copy. Ett annat sätt är att klicka på knappen i verktygsfältet. Det tredje sättet är att trycka på Ctrl-C (tryck ner tangenten som heter Ctrl i nedre vänstra hörnet på tangentbordet och håll den nedtryckt samtidigt som du trycker på tangenten för bokstaven C). Det fjärde sättet är att hålla ned Ctrl-knappen samtidigt som du trycker ned musknappen och drar iväg till det ställe dit du vill kopiera texten. När du släpper upp musknappen kopieras texten till det ställe där du är. Den här tekniken kallas Klicka och dra. Att klippa ut en bit text går till på ett väldigt likartat sätt som att kopiera text. Först måste du markera den textsnutt som du vill klippa ut. Sedan finns det igen fyra sätt att gå till väga. Det första är att öppna menyn Edit och sedan välja Cut. Det andra är att klicka på knappen i verktygsfältet och det tredje är att trycka på Ctrl-X. Slutligen kan du helt enkelt trycka på delete tangenten (men då går det inte att klistra in det du har tagit bort på ett annat ställe, vill du göra det kan du istället använda klicka och dra metoden, men utan att trycka ned ctrl tangenten när du drar). Efter att du har klippt ut eller kopierat en snutt text är nästa steg att klistra in texten igen där du
3.3. TEXTBEHANDLING 11 vill ha den. Detta gör du genom att flytta markören till det ställe där du vill att texten ska ligga, och sedan finns det fyra sätt (blev du förvånad?) att klistra in texten. Det första är att öppna menyn Edit och välja Paste in, det andra är att klicka på symbolen i verktygsfältet och det tredje är att trycka på Ctrl-V. Det fjärde sättet är att helt enkelt markera den textsnutt du vill flytta och sedan klicka och dra utan att trycka ned någon tangent. Detta sammanfattas i tabellen nedan: Kopiera Klippa ut Klistra in Sätt nummer 1 Välj Copy i Välj Cut i Välj Paste i menyn Edit menyn Edit menyn Edit Sätt nummer 2 Tryck på Tryck på Tryck på Sätt nummer 3 Tryck Ctrl-C Tryck Ctrl-X Tryck Ctrl-V Sätt nummer 4 Klicka och dra med Tryck på delete Klicka och dra Ctrl nedtryckt Tabell 3.1: Kopiera, Klippa ut och Klistra in text. 3.3.1 Typsnitt OpenOffice har flera typsnitt fördefinierade som du lätt kan välja mellan. I verktygslisten finns en ruta där det står Times New Roman som på bilden här intill, och bredvid finns en nedåtpil. Om du klickar på nedåtpilen så öppnas en meny där du kan se OpenOffice s alla typsnitt (eng. font) och du väljer det du vill ha genom att klicka på det. Om du nu skriver in lite text ser du att den ser ut som det typsnitt du valt. Om man redan har skrivit in text och man i efterhand vill ändra typsnittet, eller om man bara vill ändra typsnittet på ett ord mitt i ett stycke text (som med engelskans font här ovan) gör man det lättast genom att markera den text man vill ändra och sedan välja typsnitt i menyn. Då kommer bara typsnittet på den markerade texten att ändras. 3.3.2 Storlek på texten Bredvid rutan där du väljer typsnitt finns en ruta där du väljer storlek på texten. När du startar OpenOffice så står det säkert antingen 10 eller 12 i den här rutan, och bredvid rutan med siffran finns en nedåtpil. Om du trycker på den så får du upp en meny med de alternativ som finns att välja mellan för storleken på texten. Det här är inget konstigt och du kan säkert prova dig fram själv. 3.3.3 Fet, kursiv och understruken text Du kan välja att skriva med fet text, kursiv text, eller understruken text, genom att trycka på någon av knapparna. Testa att trycka in en eller flera av dessa knappar och skriv sedan lite text. Om du vill ändra på en redan inskriven text kan du markera texten du vill ändra och sedan trycka på knapparna så ändras utseendet på den markerade texten. Testa även detta. Fet text är användbar när du skriver rubriker och när du skriver undertexter till tabeller och figurer i dina labrapporter. Kursiv text används när man vill betona något, men man bör använda detta sparsamt. Vidare använder man kursiv text när man skriver ekvationer (Formula Editor använder automatiskt kursiv text) och det är också snyggt att använda det
12 KAPITEL 3. ORDBEHANDLING MED OPENOFFICE WRITER när man pratar om variabler i en text, till exempel: Vi mätte längden x till värdet 10, och tiden t till värdet 5, och beräknade hastigheten v till v = x/t. Kursiv text används också ibland när man presenterar termer på andra spåk. Understruken text används sällan och är dessutom ganska jobbig att läsa. Nuförtiden används också understruken text ofta för att indikera länkar, man bör därför vara försiktig med att använda understruken text där det kan missförstås. 3.3.4 Att justera texten Med att justera texten menar man att bestämma längs vilken kant texten ska ligga, alternativt om den ska ligga i mitten (vara centrerad). Några exempel: Vanlig text är vänsterjusterad. Den här texten är centrerad. Är mer användbart än högerjusterad text. Det här är högerjusterad text. Den ligger till höger. Den här texten är marginaljusterad vilket som syns på raden ovanför kan se ganska bedrövligt ut om raderna blir korta, men som ibland används i löpande text för att få både rak vänstermarginal och högermarginal. Använder man marginaljusterad text och vill ha en enstaka kort rad så avslutar man den med return varvid den korta raden blir normalt vänsterjusterad. Man justerar texten genom att trycka på knapparna. Vanligtvis är knappen för vänstercentrerad text intryckt. Naturligt nog kan bara en av knapparna vara intryckt åt gången, så om du trycker på knappen för högerjustering så kommer den att tryckas in och knappen för vänsterjustering kommer att åka ut. Om du vill ändra justeringen på en redan inskriven text kan du som vanligt markera texten och sedan trycka på knappen för den justering som du vill byta till. 3.3.5 Att göra en rubrik Under Default (i övre vänstra hörnet, se bilden här bredvid) finns ett antal fördefinierade rubriktyper som ni väljer genom att trycka på nedåtpilen till höger om ordet Default och sedan klicka på den rubriktyp som ni vill ha. Som ni ser finns det ett antal rubriktyper att välja mellan, trycker man på more så kommer det upp ändå fler. Trycker vi t ex på Heading 1 får vi en rubrik satt med fet stil av litet större typsnitt, lämplig t ex för kapitel rubriker, Heading 2 är litet mindre och lämpar sig för avsnittsrubriker osv. När man skriver en labrapport är detta praktiskt, eftersom man nu lätt får samma utseende på alla rubriker i rapporten. Man kan definiera egna typer som man sedan kan spara på de tre platserna i menyn. För att definiera din egen rubriktyp gör du så här: Formattera texten som du vill att den nya rubriktypen skall se ut och markera den. Öppna menyn under Default (klicka på nedåtpilen). Klicka på more... längst ned i den rullmeny som kommer upp.. Klicka på symbolen längst till höger i verktygslisten i det fönster som då öppnas. Klicka på New Style from Selection. Ge rubriktypen ett namn och klicka på OK.
3.4. EGNA FORMATMALLAR 13 I rullgardinsmenyn för rubriktyper finns nu din nya rubriksort tillgänglig. Du kan också ändra en av de fördefinierade rubriktyperna, t ex Heading 4. För det gör du så här: Välj den rubriktyp du vill ändra och skriv in litet text som formatteras med den gamla rubriktypen. Ändra formatteringen av texten så att den blir som du vill att den nya definitionen skall motsvara. Välj More pss som ovan, och tryck på symbolen längst till höger. Välj Uppdate Style i den rullgardinsmeny som kommer upp. Om du vill ta bort dina ändringar i rubrikmeny trycker du bara på Clear Styles. Om man i ett dokument har underavsnitt till ett avsnitt bör man ha en annan rubriktyp för underavsnitten som är något mindre. Man kallar detta att man har olika rubriktyper för olika nivåer i dokumentet, eller helt enkelt att det finns olika nivåer av rubriker. Därför är det praktiskt att du kan spara mer än en rubriktyp som du har definierat, det kan vara bra att spara en för varje nivå som behövs. 3.4 Egna formatmallar Egna definitioner av t ex rubriker sparas i något som kallas template i OpenOffice. Men eftersom datorerna i datorsalarna regelbundet städas så kommer OpenOffice s formatmallar med jämna mellanrum återställas till sina standardvärden. Dessutom är ju de mallar som lagras internt i OpenOffice bara åtkomliga just på den dator där de skapades. Men det går att spara och komma åt egendefinierade formatmallar: I menyn File väljer du Templates, i det fönster som då kommer upp väljer du save. Du får då möjlighet att spara den aktuella formatmallen till disk, för att du skall kunna nå mallen från vilken dator som helst skall du spara mallen på ditt SU-konto. Du kan emellertid inte välja din SU-disk i det fönster som öppnas när du trycker på save. OpenOffice har en speciell sökväg definierad för att avgöra var olika typer av inställningsfiler ligger, så även för template-filer. För att ändra den klickar du på Tools i verktygslisten och väljer options.... i menyn som kommer opp. Klicka på OpenOffice.org så att trädstrukturen öppnas, och välj Paths. Klicka på raden Templates så att den markeras och tryck på Edit. Nu har du (äntligen) möjlighet att lägga in din SU-area i sökvägen. (Det här är dock en temporär åtgärd, när datorerna städas kommer denna information att försvinna). För att kunna använda mallen när du arbetar på en annan dator får du i OpenOffice öppna mallhanteraren och läsa in formatmallen från din SU-disk. Ett alternativt sätt att spara egna formatmallar är att ha ett malldokument (t.ex. för labbrapporter) som man skriver sina rapporter i. Skapa en fil mall.odt, där du gör dina ändringar. Varje gång du ska skriva en ny labrapport kan du öppna filen, spara den med det nya filnamnet (t.ex. labb1.odt) och därefter skriva din rapport. I ett sådant mall-dokument kan du också spara t.ex. verktygsknappar som du lagt till i verktygslisten. Lägg först till en ny knapp och spara den sedan i filen: Gå till Tools i menyraden och välj Customize.... Välj Save in mall.odt. Lägg till nya knappar så som det beskrivs i stycke 3.5 i kompendiet. Avsluta med att klicka OK. Nu har ändringarna sparats i dokumentet, och kommer finnas där oavsett var du öppnar det. Samma sak gäller ändrade rubrikstilar och liknande.
14 KAPITEL 3. ORDBEHANDLING MED OPENOFFICE WRITER 3.5 Lägga till knappar till verktygsfältet I verktygsfältet har OpenOffice en mängd knappar, de flesta behöver man inte särskilt ofta och de viktigaste knapparna saknas! Lyckligtvis kan man själv lägga till de viktiga knapparna till de funktioner man använder ofta. När du skriver labrapporter kommer du speciellt att behöva knapparna för Formula, för Nedsänkt och Upphöjd text väldigt ofta. Formelverktyget Nedsänkt text Upphöjd text Om dessa inte redan finns i ditt verktygsfält ska du nu få lära dig hur du lägger dit dem. Klicka på menyn Tools. Välj Customize. Klicka på fliken Toolbars. Markera i den övre halvan av fönstret den toolbar där kommandot du vill ha en knapp för finns. Knapparna för nedsänkt och upphöjd text hittar du under Formatting. I den undre halvan av fönstret scrollar du ned tills du hittar superscript och subscript. Se till att de är ikryssade och tryck på OK. Om du vill ta bort en knapp från verktygsfältet så behöver du bara klicka bort den i samma meny. Som du ser finns det många fler verktygsfält än vad som visas i fönstret. Vilka som syns kan du styra själv genom att gå in i menyn View, välja Toolbars och sedan välja om ett visst verktygsfält skall vara aktivt eller inte. Det kan bli ganska trångt i fönstret om man väljer för många aktiva verktygsfält. Därför kan man ibland vilja lägga till en verktygsknapp i ett fält som man visar, även om den egentligen hör hemma i ett annat verktygsfält, som t ex insert formula knappen i standard-verktygsfältet. För att göra det går du igen in i Tools Customize och väljer Standard i det övre fältet. Klicka på add i den undre halvan. Du får då upp ytterligare ett fönster, där du kan leta upp det verktygsknapp du vill lägga till i standard. När du hittat den lägger du enklast till den genom att bara dra symbolen till verktygsfältet där du vill lägga till den. 3.6 Sidbrytning Ibland kan man vilja göra en framsida till det dokument man skriver, även om en framsida inte är nödvändig för kortare dokument som labrapporter. Om man vill tvinga OpenOffice att byta sida och lämna resten av sidan tom så är det bästa sättet att infoga en sidbrytning (istället för att bara trycka Enter en massa gånger). En sidbrytning hindrar texten att flyta ner under det ställe där du sätter din sidbrytning. Du inför en sidbrytning genom att först öppna menyn Insert och sedan välja alternativet Manual break. Du får då upp ett litet fönster där du kan markera vilken typ av textbrytning du vill införa, välj Page break och tryck på OK -knappen. 3.7 Sidnumrering Om du vill att OpenOffice ska numrera sidorna i dokumentet du skriver öppnar du menyn Insert och väljer alternativet Footer. Längst ned på varje sida får du då ett område som kallas footer och som kan formatteras av dig. Om du skriver in någon text där kommer