Norges teknisk naturvitenskapelige universitet MTKJ Side 1 av 5 Ansvarlig: T. Haug-Warberg (haugwarb at nt dot ntnu dot no) Bokmål Forkunnskaper: grunnleggende programmering PROSESSTEKNIKK (TKP4120) Tema: "Visualisering av x, y-diagrammer" (ca. 5 timer) Etter å ha fullført denne oppgaven skal du ha et bedre grunnlag for å kunne velge rett programvare for tegning av x, y-diagrammer. Oppgave 1 La oss ta den viktigste beskjeden først: programmering er ikke et verktøy! For en mester i faget er programmering en form for livskunst, akkurat som matematikk, fysikk og kjemi. Programmering er heller ikke et spørsmål om å skrive mye kode. På samme måte som at matematikk ikke bare er symboler, fysikk ikke bare er ligninger, og kjemi ikke bare er glassutstyr. For å bli en god programmerer må du bygge opp mye erfaring og dertil kunne anvende mange ulike programmeringsparadigmer, men siden det er flere programmeringsspråk enn menneskelige språk her i verden betyr det at du har mye å lære. Men, det er ikke meningen å skulle ødelegge motivasjonen med dette utsagnet. Fordi: Uavhengig av hvilket programmeringsspråk du bruker, er det et lite sett med regler som alltid gjelder. Nemlig: 1 Think structure, structure, structure 2 Keep it simple, simple, simple 3 Focus, focus, focus 4 *** Disse reglene 1 gjelder også innen matematikk, fysikk og kjemi, så du kan trygt ta dem med videre på ferden. 1 Det er ikke mine regler et søk på internettet vil gi deg hundretusener av treff.
Side 2 av 5 a) Tenk igjennom hverdagen din og velg et par interesser hvor læresetningene ovenfor kan komme til nytte. Ikke tenk så mye på den tekniske utførelsen. Konsentrer deg heller om å tenke struktur. For hva er egentlig struktur? Det kan for eksempel være å lage en treningsdagbok, lære seg det periodiske systemet, ordne opp i kaoset på datamaskinen, regne ut en tabell for tidevannet på favorittfiskestedet, o.s.v. Oppgave 2 Det egentlige temaet for denne øvingen er visualisering av x, y-diagrammer. Så, hvordan kan du på enklest mulig vis og med best mulig resultat frembringe alle de tabellene og diagrammene som skal inn i den neste laboratorierapporten din? Oppgavestillingen er enkel, men svaret er desto mer komplisert. Det fins nemlig ingen standard representasjon av x, y-diagrammer og heller ingen standard måte å tegne dem på. Dermed blir man henvist til å velge fra et sant mangfold av språk og hva verre er: med få muligheter til å kunne ombestemme seg uten at det vil medføre en masse ekstra arbeid. I tillegg vil man også erfare at preferanser for grafisk fremstilling endrer seg over tid slik at fleksibilitet er kanskje et viktigere stikkord enn noe annet. For unngå at du må binde deg til et bestemt programmeringsmiljø skal vi, i dette kurset og senere i studiet, legge vekt på frittstående datafiler som kan brukes til grafisk fremstilling i mange, ulike miljøer. Aktuelle eksempler er: Excel, R, Python, GNUplot, LaTeX, Octave og Matlab. Det vi trenger først av alt er å bestemme oss for et egnet filformat. Det må ha en enkel struktur slik at det kan leses av mange forskjellige grafikkprogrammer. Det må selvsagt også kunne romme den informasjonen som er påkrevd, men heller ikke noe mer. Disse kravene snevrer inn valgmulighetene og det formatet som peker seg ut er kommaseparerte filer med kommentarlinjer i toppen av filen: 1 % meta : free text 2 % meta : free text 3 %... :... 4 % ----------------- 5 % label, label,... 6 %...,...,... 7 % key, key,... 8 % units, units,... 9 % ----------------- 10 data, data,... 11 data, data,... 12...,...,... Kommentarene spiller en viktig rolle i denne sammenhengen. De inneholder viktig metainformasjon som for eksempel: forfatter, dato, referanser, o.s.v. Ved å ta i bruk dette enkle filformatet oppnår vi flere viktige fordeler. La oss ramse opp noen:
Side 3 av 5 Filen kan leses og skrives fra en hvilken som helst datamaskin som kjører under et hvilket som helst operativsystem. Ved å legge bibliografiske referanser inn i metainformasjonen i toppen av filen blir innholdet sporbart for all fremtid. Datagrunnlaget til filen kan skrives av et program og leses av et annet med minimum programmeringsinnsats. Ulempen med formatet er at det ikke er del av en internasjonal standard. Det utgjør kun et slags minste felles multiplum blant de mulighetene som vi ønsker å ivareta. Og selv om filformatet kan brukes av mange forskjellige grafikkprogrammer kan vi ikke garantere at grafikken blir den samme i hvert enkelt tilfelle. En grafikkstandard hadde gjort livet så mye enklere å leve, men noe sånt fins ikke; og i dag har hvert fagmiljø etablert sin egen praksis for hvordan et diagram skal se ut. Men, til tross for dette er det fortsatt mulig å oppnå en høy grad av koherens mellom de ulike alternativene. La oss først undersøke hvilke alternativer vi har: Excel : regneark integrert med grafikk R : statistikk integrert med grafikk Python : programmering med grafikkbibliotek (Matplotlib,... ) GNUplot : kun grafikk LaTeX : typografi med grafikkbibliotek (TikZ, PStricks,... ) Octave : vektor matrise med integrert grafikk Matlab : vektor matrise med integrert grafikk Tilsammen åtte mulige valg hvert av dem med ulike muligheter og begrensninger. Oppgaven din er å velge det miljøet som du er best tjent med. a) Du blir bedt om å bruke minst én klokketime på å lete opp bakgrunnsinformasjon for de åtte valgene slik at du skal kunne gjøre deg opp en formening om hva du er best tjent med. jeg (vi) ønsker tilbakemelding på hvilket valg du har gjort! Og glem ikke at du hele tiden må finne deg i å slå opp ukjent terminologi og syntaks i tekniske fagbeskrivelser og brukermanualer. Alt er stort sett skrevet på engelsk, men det er et mindre problem. Alvorligere er det at brukermanualene ofte er på flere hundre sider og at du ikke engang skal håpe at professoren eller studentassistentene i faget har alle svarene. Men, vi bruker for det meste åpen kildekode og i disse miljøene fins det så mange
Side 4 av 5 ekstremt dyktige personer at det alltid vil være noen som kan svare på spørsmålet ditt. Forutsetningene er at du har gjort hjemmeleksen din og har skrevet en MWE (eng. Minimal Working Example) som illustrerer det du ikke skjønner. Uten en MWE blir du satt grundig på plass. Oppgave 3 a) Sett grafikkprogrammet ditt på prøve for å tegne kolonnene i datafilen pptable.txt i et dertil egnet v, p-diagram. De første tabellradene er: 1 % Who : T. Haug-Warberg 2 % What : Ideal gas pressure. 3 % : Calculated at 30 volumes and 3 temperatures. 4 % Where : Dept. Chem. Eng, NTNU 5 % Why : TKP4120 Exercise 1 6 % When : 2017-01-10 Tue 18:24:32 (auto-generated: pptable) 7 % --------------------------------------------------------- 8 % Volume, Pressure, Pressure, Pressure 9 % V, T=100, T=300, T=500 10 % m^{3}, K, K, K 11 % ----------------------------------------------------------- 12 0.926118728129, 8977.76035347, 26933.2810604, 44888.8017673 13 0.857695898591, 9693.96264301, 29081.887929, 48469.813215 Diagrammet ditt skal til slutt se ut som det nedenstående. Den ytre rammen viser den virkelige størrelsen til hele figuren: 500000 Pressure [Pa] 400000 300000 200000 T = 100 K T = 300 K T = 500 K 100000 0.2 0.4 0.6 0.8 1 Volume [m 3 ]
Side 5 av 5