>» fl» O V) u tj 5. Dag Einar Sommervoll. TROLL kan temmes Kort innføring i Troll programmering 2003/42. Notater 2003

Like dokumenter
Notater. Dag Einar Sommervoll. TROLL kan temmes Kort innføring i Trollprogrammering. 2003/42 Notater 2003

Notater. Anne Vedø og Dina Rafat. Redigering av husholdningsfilen fra Kvalitetsundersøkelsen. 2003/60 Notater 2003

Anne Vedø og Dina Rafat. Redigering av husholdningsfilen fra Kvalitetsundersøkelsen. 2003/60 Notater re vi

Notater. Audun Langørgen og Remy Åserud. Faktorer bak kommunale variasjoner i utgifter til sosialhjelp i /40 Notater 2003

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Brukerveiledning for ArkN4

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Audun Langørgen og Remy Åserud

Shellscripting I. Innhold

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

Programmeringsspråket C

2 Om statiske variable/konstanter og statiske metoder.

Kommunikasjon mellom XC PLS'er over CAN

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Kom i gang med Python

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

MAT-INF 1100: Obligatorisk oppgave 1

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Databank for DATSY/NATBLES/TSP. Brukerveiledning. Ola Jacobsen - INNHOLD

Programmering. Carsten Wulff

IN uke 1. Komme i gang med programmering

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

Debugging. Tore Berg Hansen, TISIP

Læringsmål og pensum. v=nkiu9yen5nc

Eivind Gard Lund. 24. Mars 2009 Foilene bygger på 2009 utgaven av Andreas Svendsen

Øving 0 - Xcode TDT4102

Programmeringsspråket C Del 2

Verden. Steg 1: Vinduet. Introduksjon

EKSAMEN. Operativsystemer. 1. Læreboken "A Practical Guide to Red Hat Linux" av Mark Sobell 2. Maks. tre A-4 ark med selvskrevne notater.

Hangman. Level. Introduksjon

En kort innføring i Lotte-Typehushold

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

Notater. Johannes Bergh. Ungdommer i norske fengsler Kriminalitet blant barn og unge. Del /15 Notater 2003

6105 Windows Server og datanett

Oppgaver til forkurs i informatikk dag 2

MAT-INF 1100: Obligatorisk oppgave 1

1: Steng ned alle MAB på alle maskiner før dere starter oppdateringen. Dette gjelder også MAB Schedule som dere vil finne på serveren.

IN1000 Obligatorisk innlevering 7

Kapittel 1 En oversikt over C-språket

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Ungdommer i norske fengsler Kriminalitet blant barn og unge. Del 3

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

TwidoSuite kommunikasjon

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

ting å gjøre å prøve å oppsummere informasjonen i Hva som er hensiktsmessig måter å beskrive dataene på en hensiktsmessig måte.

Tips! OMRON ELECTRONICS NORWAY AS

1. Profiler og variabler

IN 147 Program og maskinvare

Programmeringsspråket C Del 2

Programmeringsspråket C Del 2

Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Syntax/semantics - I INF 3110/ /29/2005 1

6105 Windows Server og datanett

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

2001/31 Notater Robin Choudhury. Notater. Brukerveiledning for AMEN. Forskningsavdelingen/Seksjon for makroøkonomi Emnegruppe: 00.

Objektorientert programmering i Python

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

INF1000: noen avsluttende ord

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Om plotting. Knut Mørken. 31. oktober 2003

Dagens tema: Enda mer MIPS maskinkode

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Hjemmeeksamen 2 i INF3110/4110

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Filsikkerhet i Linux

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

Håndtering av filer og kataloger

Øvingsforelesning TDT4105 Matlab

Programmeringsspråket C Del 3

Betinget eksekvering og logiske tester i shell

Programmeringsspråket C Del 3

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

Primus Brukerveiledning for masseimport av bilder. Primus 5.6.5

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Administrasjon av postnummersystemet i Norge Post code administration in Norway. Frode Wold, Norway Post Nordic Address Forum, Iceland 5-6.

Sprettball Erfaren ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere

Trådløsnett med Windows XP. Wireless network with Windows XP

Vanlige spørsmål om EndNote (april 2013)

2 Om statiske variable/konstanter og statiske metoder.

Kom i gang med Stata for Windows på UiO - hurtigstart for begynnere

1. PROGRAMEDITOREN PED S LINJEEDITOREN QED S TEKSTEDITOREN NOTIS WP S TEKSTFORMATEREREN NOTIS-TF S. 3 (07)

UNIVERSITETET I OSLO

Programmering i C++ Løsningsforslag Eksamen høsten 2005

GJØVIK INGENIØRHØGSKOLE

Programmeringsspråket C Del 3

Linux-programmer som bruker regulæruttrykk: grep, sed, awk

Transkript:

2003/42 Notater 2003 >» fl» O V) u tj 5 Dag Einar Sommervoll TROLL kan temmes Kort innføring i Troll programmering 2 S M «/i Some one be ready with a costly suit, And ask him what apparel he will wear; Another tell him of his hounds and horse, And that his lady mourns at his disease. Persuade him that he hath been lunatic; And, when he says he is -say that he dreams, For he is nothing but a mighty lord. This do, and do it kindly, gentle sirs: It will be pastime passing excellent, If it be husbanded with modesty. (Lord i The taming of the Shrew, W. Shakespeare) Forskningsavdelingen/Gruppe for Skatt, fordeling og konsumentatferd

Innledning: Når en prøver å bruke en programpakke for første gang er det mange trivielle problemer som hindrer en å komme i gang. Dessverre er det ofte slik at disse initielle "triksene" ikke er lette å finne i manualene. Dette kan ofte skyldes at de er betraktet som for trivelle til å bli tatt med eller at de er behandlet sammen med beslektede kommandoer ett eller annet sted langt ute i teksten. Trollmanualen er ikke noe unntak i denne sammenheng. Denne guiden er en innføring for de som utelukkende ønsker svar på: 1) Hvordan definerer jeg en modell? rt 2) Hvordan simulerer jeg denne? Vi skal her vise hvordan dette gjøres på en enkel måte. Etter denne korte innføringen, vil det være lettere å gi seg i kast med manualene og bli en riktig trollekspert. (For en meget omfattende online-manual se intranettet (http://intranet/dok/it-info) Generelt om Troll Troll er et simuleringsprogram for tidsserier skrevet i programmeringsspråket c. De som kjenner til c vil se at syntaksen er "arvet" fra dette programmeringsspråket. I denne framstillingen er kjennskap til c uten betydning. Dersom vi har en modell med et passende antall eksogene og endogene variable kan Troll i prinsippet gjøre en simulering og finne verdier til de endogene variablene. I praksis skriver en inn modellen og gir Troll beskjed om a simulere, subsidiært skriver en et program som lager modellen og deretter simulerer. I denne guiden skal vi vise hvordan vi skriver inn en modell, tilkjennegir eksogene og endogene variabler, tilordner (initial)verdier og simulerer. Utover denne basiskunnskapen viser vi hvordan vi skriver en kildefll for å rasjonalisere innleggingen av en modell i Troll. Et problem og den første analyse av hva som må beherskes Startproblemene og deres løsning er temaet for guiden. Disse er uavhengige av størrelsen og relevansen av den modellen vi ønsker å bruke. Vi kan derfor bruke en så enkel modell som mulig. Vi velger tre likninger med tre ukjente: a\x\ + a 2x 2 + a 3x 3 = ti b2%2 + = t 2 Vi oppfatter ai,a 2,a3,b2,b3,c3,ti,t2,t3 som eksogene variabler, og Xi,x 2,x3 som endo gene. Vi ønsker å bruke Troll til å finne verdier for de endogene, gitt noen verdier (som vi velger) for de eksogene. 1 C3X3 = *3

Det naturlig er at vi har verdiene til de eksogene variablene liggende på en fil og at deres verdier leses av Troll når modellen skal simuleres. Innskriving av modellen i Troll En konvensjon: Kommandoer som vi skriver inn vil bli markert med kursiv for å skille dem fra kommentarer og tekst som Troll produserer. Vi begynner med å starte opp Troll: troll (Eventuelt kan ile troll brukes) Vi bestemmer oss for å kalle modellen valgerd og skriver: TROLL Command: usemod valgerd New model: VALGERD Nå må vi spesifisere (editere) modellen: TROLL Command: modedit valgerd; En syntaktisk kommentar: Avsluttede kommandoer i Troll markeres med semikolon (;). Nå må vi legge inn likningene: MODEDIT Command: addeq Equation position: 0 [Lbl:] Equation:c3*x3=t3; Vi ønsker å se om Troll har fått lagt likningen riktig inn: MODEDIT Command: print all; Symbols: EXOGENOUS : C3T3X3 Equations: 1: C3*X3 = T3 MODEDIT Command: Vi bruker kommandoen addeq (add equation) for å skrive inn en likning. En modell består av et system med likninger, derfor må vi angi likningsnummer. Vi gav nr. 0. Det betyr at likningen blir lagt etter likning 0. Det vil si at den blir likning nr. 1. Generelt svar "i", gir at likningen blir nummer "i+l," og likninger som er etter på listen får et likningsnummer som er et høyere. print all-kommandoen var bare for å se på modellen som vi lager. Vi merker oss at alle variablene er ført opp som eksogene. MODEDIT Command: addeq Equation position: 0 [Lbl:] Equation: b2*x2+b3*x3=t2; MODEDIT Command: print all; 2

Symbols: EXOGENOUS : B2B3C3T2T3X2X3 Equations: 1: B2*X2+B3*X3 = T2 2: C3*X3 = T3 MODEDIT Command: Vi la nå inn den neste likningen. Vi ser at den kom som nummer en og den vi først la inn ble skjøvet et hakk ned. Tilslutt legger vi inn siste likning: MODEDIT Command: addeq Equation position: 0 [Lbl:] Equation: al*xl+a2x2+a3x3=t3; MODEDIT Command: print all; Symbols: EXOGENOUS : Equations: Uff, vi gjorde flere feil. De må rettes opp! MODEDIT Command: deleq 1; Og for å sjekke at likning 1 Al A2X2 A3X3 B2B3C3T2T3XI X2X3 1: AI*XI+A2X2+A3X3 = T3 2: B2*X2+B3*X3 = T2 3: C3*X3 = T3 ble fjernet: MODEDIT Command: print all; Symbols: EXOGENOUS : B2B3C3T2T3X2X3 Equations: 1: 2: B2*X2+B3*X3 = T2 C3*X3 = T3 En hendig kommando er deleq. Vi bruker den Vi kan puste lettet ut. Det virket. Og vi observerer også at det som var likning 2 ble likning 1 igjen. Vi prøver en gang til: MODEDIT Command: addeq Equation position: 0 [Lbl:] Equation: al*xl+a2*x2+a3*x3=tl; MODEDIT Command:pnn all; 3

Symbols: EXOGENOUS : Al A2A3B2B3C3TI T2T3XI X2X3 Equations: 1 2 3 Al*Xl+A2*X2+A3*X3 = TI B2*X2+B3*X3 = T2 C3*X3 = T3 Nå ser det fint ut. Men vi har bare eksogene variable. Vi vil at X\,X2,xs skal være endogene: MODEDIT Command: changesym 'n xl x2x3; changesym endrer statusen til en eller flere variable og n tilkjennegir at fra nå av skal den eller de være endogene. MODEDIT Command: print all; Symbols: ENDOGENOUS XI X2X3 EXOGENOUS : Al A2A3B2B3C3TI T2T3 Equations 1: 2: 3: Al*Xl+A2*X2+A3*X3 = TI B2*X2+B3*X3 = T2 C3*X3 - T3 Flott da er modellen skrevet inn. Men vi har et problem. Vi ønsker å gi de eksogene variablene verdier. Troll krever forøvrig at endogene verdier skal ha initialverdier. Vi lagrer modellen: MODEDIT Command: savemod; TROLL Command: En kommer ut av modellediterings-miljøet! (I siste versjon av TROLL vår 2003 varsles det om at i fremtidige versjoner av TROLL kan savemod; bli tatt ut et alternativ er filemod;, som ogs lagrer modellen p disk med navn valgerd.mod) For å gå ut av modedit (uten nødvendigvis å lagre) kan en også skrive MODEDIT Command: quit TROLL Command: Modellen er nå laget og lagret. Nå må vi tilordne verdier. Tilordning av verdier til de eksogene og endogene variablene 4

Troll kan lese fra og skrive til Famedatabaser, slik sett kunne en opprette en fil med de ønskede initialverdiene til variablene i Farne. For å gjøre denne guidingen uavhengig av kjennskap til andre programmer, velger vi å lage databaser via Troll. Den mest elementære måten å gjøre dette på er å legge verdiene inn i en fil som Troll automatisk oppretter. Denne filen heter save. Det gjøres slik: TROLL Command: dosave a3=s; Dersom en skal legge inn flere verdier, kan en gjøre det på samme dosave-kalh TROLL Command: dosave ti =2, t2=s, 13=5: Ønsker vi å sjekke at variabel har fått tilordnet riktig verdi kan en bruke: TROLL Comm.cinå:h'prtdata(a3); prtdata er en funksjon, derfor må den brukes med &. SAVE_A3: Numeric scalar: 5 Dette fungerer bra for å gi de eksogene variablene verdier. De endogenes initialverdier er mer kompliserte. Troll er en programpakke for tidsserier, det betyr at de endogene variablene må være tidserier. Siden x'ene bare skal ha en verdi hver, må de representeres som en tidserie som går over bare ett år. Det gjøres slik: TROLL Command:døsane x2=reshape(2,l99ba); Kommandoen reshape(2,l99ba) lager en tidserie x2bestående av ett år og med verdi 2 det året. Bokstaven a i 1998astår for annual. For å se at vi har laget en tidsserie kan vi igjen bruke: TROLL Qomma,nå:Bzprtdata(x2); SAVEJC2: X2= RESHAPE(2,I99BA) Numeric scalar timeseries - Time dimension: Periodicity 1, 1998Ato 1998 A(1 observations) Time dimension -> 1998 A : 2 Nå har vi vist hvordan vi tilordner verdier til eksogene og endogene variable. Nå ønsker vi å simulere. Simulering av modell Vi må først si hvilken modell vi vil bruke. Modellen vår ble kalt Valgerd. Vi skriver: TROLL Command: usemod valgerd; Og så: 5

TROLL Command: simulate; Simulations can start from 1998 A to 1999A. SIMULATE Command: Vi har nå kommet inn i simuleringsmiljøet. Vi skriven SIMULATE Command: simstart Start date: 1998a; Merk vi har bare ett år. Vi må bruke dette. Og vi må tilkjennegi at vi bruker år som enhet. (derfor 1998a.) Så skal simuleringen gjøres: SIMULATE Command: dosim 1; Ettallet sier at simuleringen skal gjøres for en periode på ett år. (I vårt tilfelle var det ikke så mye annet det kunne dreie seg 0m...) Vi ønsker å vite verdiene: SIMULATE Command: Ikval sol xl x2x3: Date: 1999A X3 X2 XI -0.625 1.71875-0.03125 Hurra, vi har lykkes. Simuleringen er gjort og vi kjenner verdiene. Lykken er kortvarig. Det er flere ting som er uestetisk ved vår framgangsmåte. Variablenes (initial-)verdier burde ha vært lest fra fil og resultatene burde vært skrevet på en fil. Modellen burde være tilgjengelig på fil. Det ville også være fint å lage modellen uten å sitte å rote i modellediterings-miljøet. Disse temaene skal vi behandle nå. Vi begynner med skriving til fil og lesing fra fil. Til og fra fil Vi ønsker å ha en fame-database med de eksogene og endogene variablene våre. Det er ingenting i veien for å gjøre dette direkte i farne, men vi velger å lage den i Troll. Vi må gi beskjed om hvilken fil som det skal skrives til. Det gjøres ved følgende kryptiske kall: c: TROLL Command: access skriv type farne id /ssb/ovibos/hl/des/fame/skriv.db mode TROLL Command Dette kallet krever noen forklaringer. Kommandoen access er den som forteller Troll at en fil eksisterer (eller skal eksistere). Skriv, som er det neste ordet i kommandoen, er bare et alias som Troll vil bruke i stedet for det riktige filnavnet med den lange adressen (/ssb/ovibos/hl/des/fame/skriv.db). Videre angir vi type farne, som tilkjennegir at det er en famedatabase. Deretter kommer id som står for identity og etter den skal addressen til filen følge. (I vårt tilfelle er det en fil 6

som vi velger å kalle skriv.db, som ligger på en farne katalog på undertegnedes område på maskinen ovibos). Tilslutt angir vi en modus (mode c). Her er det flere opsjoner. Opsjon c betyr at det skal skrives til filen, og den overskriver filen dersom den finnes fra før. Andre opsjoner er w for "write" og r for "read". Dessverre er ikke dette nok for at vi kan skrive til filen. Troll har en søkeliste bestående av filer. For at vi skal kunne skrive til eller lese fra en fil må den være i søkelista. Vår fil skriv.db blir inkludert i søkelista ved følgende kommando: TROLL Command: search skriv; For å se på søkelista, kan vi gjøre følgende: TROLL Command: Iksearch; Current SEARCH list: Nåme SAVE TROLLSYS SKRIV TROLL Command W? Filetype Basic? W DATA BASIC W NONDATA BASIC NONDATA BASIC DATA Vi ser at skriv er lagt inn sist på lista og at save er først. Save brukte vi for å legge inn parametrene i vårt første forsøk, nå ønsker vi at skriv skal overta den rollen. Vi ønsker å bruke en kommando som heter dofile. dofile xxx skriver inn xxx i første fil på søkelista (med skriverettigheter). For å bruke denne må vi endre rekkefølgen på søkelista. En mulig vei er først å fjerne skriv fra søkelista: TROLL Command: delsearch skriv; Og så legge den inn igjen først ved den selvforklarende kommandoen: TROLL Command: search first skriv w; (w på slutten er for å tilkjennegi at vi ønsker å skrive til filen.) For å være sikre, sjekker vi: TROLL Command: Iksearch; Current SEARCH list: Nåme W? Filetype Basic? SKRIV SAVE TROLLSYS W W W DATA DATA NONDATA NONDATA BASIC BASIC BASIC Det fungerer. Da gjør vi helt analogt med dosave tilfellet sist 7

TROLL Command: dofile a1=1,a2=3,a3=4,b2=5,b3=-4,c3=5,t1=-l,t2=-2,t3=4; Og de endogenes startverdier: TROLL Command: dofile xl=reshape(l,l99ba),x2=reshape(l,l99ba), x3=reshape(l,l99ba); Når vi er ferdige med å skrive til filer, kan det være lurt å bruke TROLL Command: delaccess all; eller hvis vi bare er ferdig med å skrive til filen skriv: TROLL Command: delaccess skriv; Nå er databasen med parametre opprettet, og vi kan titte på den i farne dersom vi ønsker. (Vi skriver ffame for å starte farne og skriver open skriv, db (pass på at du er på riktig katalog) og deretter display?) En kan bemerke at det var forholdsvis tungvint å lage denne databasen. Heldigvis er det oftest slik at databasen med parameterverdier allerede finnes, slik at en bare skal lese fra den. Det er temaet for neste avsnitt. Innlesning av parameterverdiene fra fil Vi antar her at vi har skrevet inn modellen, og bare ønsker å få parameterverdier før simulering. Vi skriver: r: TROLL Command: TROLL Command: access les type farne id /ssb/ovibos/hl/des/farne/skriv.db mode Her har vi endret aliaset til les (kosmetisk forandring) og modusen til r for read. Vi legger den inn på søklista (og sjekker): TROLL Command: search les; TROLL Command: Iksearch; Current SEARCH list: Nåme W? Filetype Basic? SAVE TROLLSYS LES W W DATA NONDATA NONDATA DATA BASIC BASIC BASIC Troll leter etter parameterverdier i de databasene angitt på lista og respekterer database rekkefølgen. Siden det ikke er lagret parameterverdier annet enn i les, vil programmet bruke disse. Merk at dersom en ønsker å endre en parameter midlertidig kan det gjøres ved å legge dens verdi inn i savefilen. Da vil den bli brukt istedet. Simuleringene kan nå kjøres på vanlig måte. Det kan i etterkant være lurt å bruke delsearch all; for å fjerne filene fra søkelista. 8

;nigeb ;dne ;nigeb *#*/ niremargorpgi Trol edt er lit klønte å lege in modelen ved å bruke i modelediteringsmiljøet i Trol. Det erbedre å lage et program i en editor (f.eks. emacs) og dereter kompilere programet. Vimå lage en "sourcefile". For å lage vår lekemodel valgerd, kan sourcefilen se slik ut. V(i kan kale filen valgerd.src): #*#*#*/ /*Mit første program */ * ufdan main; rudecorpe main() > delaces al; > aces les type farne id /sb/ovibos/hl/des/fame/skriv.db mode r; > aces utskrift type farne id /sb/ovibos/hl/des/fame/utskrift.db mode c; > search les; > search utskrift w; eda>q botom / Nå skal likningene leges in. Ingenting fancy* * > al*xl+a2*x2+a3*x3=tl, b2* X 2+b3*x3=t2, c3*x3=t3; Laos se nærmere på dete: /*/ /*Mit første program */ /*<);*#*/ ufdan main; rudecorpe main() Detre første linjene er besvergelser, som sier at vi vil lage en prosedure main. > delaces al; Deto klamene tilkjenegir at vi ønsker å bruke en Trolkomando. Komandoen delac ecs al brukes her bare for å sikre at vi ike har noen gamle filer ligende i søkelista med lmage og muligens gale verdier for våre parametre. 9

>> access les type farne id /ssb/ovibos/hl/des/fame/skriv.db mode r; Her sier vi fra at vi vil lese verdier fra skriv (under aliaset les). Det er generelt lurt å velge et alias som er likt det filen heter for å unngå forvirring, slik som gjort her: >> access utskrift type farne id /ssb/ovibos/hl/des/fame/utskrift.db mode c; Vi sier fra at vi ønsker å skrive til filen utskrift som er en farne database. Vi må inkludere filene i søkelista også: >> search les; >> search utskrift w; Nå ønsker vi å skrive inn selve modellen. Det gjøres slik >>addeq bottom Kommandoen addeq bottom sier bare at likningene som følger skal legges inn fra bunnen. Det vil si første likning lest blir første likning, andre blir andre osv. // Nå skal likningene legges inn. Ingenting fancy* Dersom en skriver // ignorerer Troll den linjen. Dette gjør at en kan legge inn kommentarer og midlertidig fjerne programlinjer. >> al*xl+a2*x2+a3*x3=al, b2*x2+b3*x3=b3, c3*x3=c3*a3; end; Her slutter prosedyren main. modellen i Troll. Vi starter Troll: neumann: /troll> troll Vi ønsker å kompilere programmet, slik at vi får generert TROLL Release 1.04 Copyright (C) Intex Solutions, Inc. 1993-1997 Copyright (C) Massachusetts Institute of Technology 1978-1987 Og vi kompilerer programmet. TROLL Command: compile valgerd TROLL Compiler: Rei. 1.0 END OF COMPILATION ERRORS: 0 WARNINGS: 0 Det gikk fint. Vi tilkjennegir at vi vil bruke en modell som vi kaller valgerd. TROLL Command: usemod valgerd; New model: VALGERD 10

Vi laster inn modellen: TROLL Command: Szvalgerd Vi kommer direkte inn i modellediteringsmiljøet og ser på modellen: MODEDIT Command: print all; Symbols: EXOGENOUS: Al A2A3B2B3C3TI T2T3XI X2X3 Equations: 1: 2: 3: Al*Xl+A2*X2+A3*X3 = TI B2*X2+B3*X3 = T2 C3*X3 = T3 Alle variablene er nå låstet inn som eksogene. Vi endrer status til x\ kunne gjort i programmet): x 2 X3 (noe vi også MODEDIT Command: changesym 'n xl x2x3; MODEDIT Command: filemod; Vi simulerer: TROLL Command: simulate; Analyzing ModePs Incidence Matrix Analyzing ModePs Block Structure Generating Simulation Code Use FILEMOD or SAVEMOD before USEMOD to save code Simulations can start from 1998 A to 1999A. SIMULATE Command: simstart Start date: 1998a; SIMULATE Command: dosim 1; Simuleringen er gjort. Vi ønsker å lagre resultatene på fil: SIMULATE Command: filesim utskrift; Alle variable skrives da på famedatabasen utskrift.db Vi avslutter med: SIMULATE Command: delaccess all; 11

Dette var en liten rundtur med Troll. Denne framstillingen har vært utpreget minimal istisk. Mange steder kunne det blitt pekt på mange varianter, varianter som kunne ha vært mer effektive eller mer estetiske. Likevel er det på sin plass med et lite sitat. Gitt vårt tema, virker følgende formaning fra Hortensio, den ene av Biancas to skreddere i W. Sheakespeares "The taming of the Shrew," naturlig: Now go thy ways; thou hast tam'd a curst shrew 12

De sist utgitte publikasjonene i serien Notater 2003/14 U. Haslund: Straffereaksjoner mot unge. Kriminalitet blant barn og unge. Del 2. 595. 2003/15 J. Bergh: Ungdommer i norske fengsler. Kriminalitet blant barn og unge. Del 3. 19s. 2003/16 I. Kvalstad: SEDA - Sentrale data fra allmennlegetjenesten. Teknisk dokumentasjon. 1365. 2003/17 K.I. Bøe og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Statsansatte. 1992-2000. 28s. 2003/18 C. Nordseth og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Inntekt og formue, 1992-2000. 425. 2003/19 A. Rolland (red.): Borger- og bruker undersøkelser i en modernisert offentlig sektor. 112s. 2003/20 A-K.Brændvang, E. Evensen, P. Løkkevik og H. Sande Olsen: Næringene hotell, restaurant og samferdsel. Dokumentasjon av beregningene i nasjonalregnskapet. 535. 2003/21 I. Håland, T. Kober og S.Lyby: Kvalitetssikring av driftsrutinene AKU. 14s. 2003/22 H. Hartvedt og E. Frisvoll: Kobling av adresseregistrene i DSF og GAB 2002. Dokumentasjon av samsvar og avik. 345. 2003/23 A. Akselsen og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Stønader til enslig forsørger. 1992-2001. 465. 2003/24 C. Nordseth og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Foreløpig uførestønad. 1992-2001. 395. 2003/25 S. Derakhshanfar og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Økonomisk sosialhjelp. 1992-2001. 355. 2003/26 A. Akselsen, S. Lien og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. Pensjoner. Grunn og hjelpestønader. 1992 2001. 113s. 13 2003/27 E. Eng Eikebak og R. Johannessen: Forventningsindikator - konsumprisene. November-mai 2003. 17s. 2003/28 A. K. Mevik: Usikkerhet i konjunkturbarometeret. 50s. 2003/29 A. Finstad og K. Rypdal: Bruk av helse og miljøfaglige produkter i hisholdningene - et forprosjekt. 335. 2003/30 T. Jørgensen: Dokumentasjon av prosjektet "Overgang utdanning-arbeid". Årgangene 1999-2000. 545. 2003/31 Å. Cappelen og L.S. Stambøl: Virkninger av å fjerne regionale forskjeller i arbeidsgiveravgiften og noen mulige mottiltak. 355. 2003/32 A. Rognan: Forprosjekt om studenters levekår. 3ls. 2003/33 S. Vatne Pettersen: Bosettningsmønster og segregasjon i storbyregionene. Ikke vestlige innvandrere og grupper med høy og lav utdanning. Utredninger til Storbymeldingen, del 1. 7ls. 2003/34 A. Barstad og M.I. Kirkeberg: Levekår og ulikhet i storby. Utredninger til Storbymeldingen, del 2. 955. 2003/35 E.H. Nymoen, L. Østby og A. Barstad: Flyttinger og pendling i storbyregionene. Utredninger til Storbymeldingen del 3. 755. 2003/36 A. Andersen,T. Løwe og E. Rønning: boforhold i storby. Utredninger til Storbymeldingen, del 4. 82s. 2003/37 D. Sve: Seksualitet og helse. Dokumentasjon av datafangsten. 19s. 2003/39 C. Nordseth og T. Sandnes: FD - Trygd. Dokumentasjonsrapport. 1992-2001. 11 Os. 2003/40 A. Langørgen og R. Åserud: Faktorer bak kommunale variasjoner i utgifter til sosialhjelp i 2000. 20s. 2003/41 T.M. Normann: Omnibusundersøkelsen februar/mars 2003. Dokumentasjonsrapport. 355.

05utttS?l Notater Depotbiblioteket lill 03sd 11 371 Statistisk sentralbyrå Oslo: Postboks 8131 Dep. 0033 Oslo Telefon: 21 09 00 00 Telefaks: 21 09 49 73 Kongsvinger: 2225 Kongsvinger Telefon: 62 88 50 00 Telefaks: 62 88 50 30 ISSN 0806-3745 Statistisk sentralbyrå Statistics Norway