Introduktion till vetenskapliga beräkningar II, Tom Sundius

Storlek: px
Starta visningen från sidan:

Download "Introduktion till vetenskapliga beräkningar II, Tom Sundius 2009 1"

Transkript

1 forts. på föregående föreläsning: Vi har redan nämnt att det finns inbyggda funktioner i Fortran, och har också redan använt några av de matematiska funktionerna, såsom ABS, SQRT och SIN. Vi skall nu studera dem i litet mera detalj. Inbyggda funktioner behöver i allmänhet inte typdeklareras, eftersom de är kända av systemet, och typen framgår oftast av argumentet. Därför behöver de inte heller något explicit gränssnitt. I detta sammanhang kan nämnas, att många av de inbyggda funktionerna förr användes med specifika namn, som var beroende av argumentets typ. Numera rekommenderas att man använder det s.k. generiska namnet, som är oberoende av argumentets typ. Som exempel kan nämnas ABS-funktionen. Om argumentet är heltaligt, kan man använda det specifika namnet IABS, och om argumentet är komplext, så kan man använda det specifika namnet CABS, men enklast kommer man undan, om använder det generiska namnet ABS, som kan användas oberoende av argumentets typ. I Fortran 90 är det också möjligt att deklarera egna generiska funktioner med lämpliga gränssnitt. Några funktioner har flera argument, och de bör i såfall vara av samma typ (t.ex. båda heltaliga, eller båda reella). Fortran 90 har ett stort antal inbyggda funktioner. Vi skall härnedan ge en förteckning över de generiska namnen för de vanligaste av dem jämte en kort förklaring av deras användning. Introduktion till vetenskapliga beräkningar II, Tom Sundius

2 Generiskt namn Betydelse ABS(X) Absoluta värdet av X ACOS(X) Arcus cosinus(x), den vinkel 0 a π för vilken cos(a) = X ADJUSTL(A) Vänsterjusterar strängen A ADJUSTR(A) Högerjusterar strängen A AIMAG(Z) Imaginära delen av det komplexa talet Z ASIN(X) Arcus sinus(x), den vinkel π/2 a π/2 för vilken sin(a) = X ATAN(X) Arcus tangenten (X), den vinkel π/2 a π/2 för vilken tan(a) = X ATAN2(Y,X) Arcus tangenten (X), den vinkel π a π för vilken tan(a) = Y/X CEILING(X) Det minsta heltalet, som är X CHAR(I) Tecknet, vars ASCII-kod är I CMPLX(X,Y) Bildar det komplexa talet X + iy CONJG(Z) Konjugattalet för det komplexa talet Z COS(X) Cosinus (X) COSH(X) Cosinus hyperbolicus (X), (e X + e X )/2 DBLE(X) Konverterar X till dubbel precision DOT PRODUCT(U,V) Skalärprodukten av vektorerna u och v EPSILON(X) Ett mycket litet tal, jämfört med 1 (ca 10 7 ) EXP(X) Exponentialfunktionen e x FLOOR(X) Största heltalet X Introduktion till vetenskapliga beräkningar II, Tom Sundius

3 FRACTION(X) Bråktalsdelen av talet X HUGE(X) Det största talet som kan framställas (ca ) IAND(i,j) Bitvis logiskt AND av i och j IBCLR(i,n) Nollställer biten n i heltalet i IBSET(i,n) Sätter bit n till 1 i heltalet i ICHAR(A) ASCII-koden för tecknet A INT(X) Avkortning av ett reellt tal till heltal IOR(i,j) Bitvis OR av heltalen i och j LEN(A) Längden av strängen A LEN TRIM(A) Längden av strängen A utan blanka tecken på slutet LOG(X) Naturliga logaritmen av X: ln x LOG10(X) Briggska logaritmen av X: log x MATMUL(A,B) Matrisprodukten av matriserna A och B MAX(X,Y,...) Maximivärdet av X, Y,... MIN(X,Y,...) Minimivärdet av X, Y,... MOD(X,Y) Resten av X/Y, dvs X - FLOOR(X/Y)*Y (X reellt) NINT(X) Heltalet närmast X: INT(X + SIGN(0.5,X)) NOT(I) Ger logiska komplementet av argumentet I RANDOM NUMBER(X) Subrutin, som beräknar pseudoslumptal Introduktion till vetenskapliga beräkningar II, Tom Sundius

4 RANDOM SEED(size, put,get) Används för att starta RANDOM NUMBER REAL(I) Konversion av ett heltal I till ett reellt tal RESHAPE(X,S) Funktion för att konstruera en matris från en vektor X SCALE(X,I) Multiplicerar X med 2 I SIGN(X,Y) Utbyte av tecken, dvs (Y:s tecken)*abs(x) SIN(X) Sinus (X) SINH(X) Sinus hyperbolicus (X), (e X e X )/2 SIZE(A) Ger antalet element i matrisen A SQRT(X) Kvadratroten ur X SUM(A,n) Summan av elementen i matrisen A längs dimensionen n TAN(X) Tangenten av X TANH(X) Tangens hyperbolica, (e X e X )/(e X + e X ) TINY(X) Det minsta tal som kan representeras (ca ) TRANSPOSE(A) Transponering av matrisen A TRIM(A) Stryker blanka sluttecken från strängen A Introduktion till vetenskapliga beräkningar II, Tom Sundius

5 Som exempel på användningen av matematiska funktioner för heltalsaritmetik skall vi studera ett program, som söker upp alla primtal mellan 1 och 100. Metoden baserar sig på att ett udda heltal n är ett primtal, ifall det inte är jämnt delbart med något udda heltal mellan 3 och n. Vi ser också ett exempel på, hur man kan namnge DO-slingor för att flytta kontrollen från den inre till den yttre slingan med CYCLE. PROGRAM Primtal! Program för att uppsöka primtal mellan 1 och 100 INTEGER :: n,k PRINT *, Primtalen mellan 1 och 100: PRINT *, 1,2 yttre: DO n = 3,99,2 inre: DO k = 3, nint(sqrt(real(n))), 2 IF (mod(n,k).eq. 0) CYCLE yttre END DO inre! Talet n är ett primtal! PRINT *, n END DO yttre STOP END PROGRAM Primtal Introduktion till vetenskapliga beräkningar II, Tom Sundius

6 Moduler kallas ett helt nytt slag av programenheter som inte fanns i tidigare Fortran-versioner. En modul inleds med en sats av formen MODULE namn, och avslutas av END MODULE namn (eller END MODULE). Ändamålet med en modul är att göra de variabler, som där deklareras tillgängliga för andra programenheter. Modulerna möjliggör alltså global tillgänglighet för variabler och konstanter, och kan sålunda ersätta COMMON-blocken i FORTRAN 77. För att kunna använda variablerna i en modul i en subrutin, används USE-satsen, som bör stå i början av det anropande programmet. Som ett exempel skall vi studera en enkel modul, som definierar några konstanter och variabler, och hur denna modul används i en subrutin. Antag, att modulen ser ut så här: MODULE testdata SAVE! Konstanter REAL, PARAMETER :: c=2.9979e8,! Variabler REAL :: data_1, data_2, data_3 END MODULE testdata pi= Introduktion till vetenskapliga beräkningar II, Tom Sundius

7 En subrutin, som använder dessa data skulle kunna börja såhär: SUBROUTINE sub USE testdata ( andra deklarationer)... ( utförbara satser)... END SUBROUTINE sub Som man lätt inser, är moduler speciellt viktiga i stora program med många subrutiner, som ofta behandlar samma data. Användningen av moduler gör argumentlistorna kortare. Observera användningen av SAVEsatsen i modulen. Det är för att data med säkerhet skall bevaras under programkörningen. Som ytterligare ett exempel skall vi skriva om programmet som beräknar summan av två tal genom att använda en modul, som gör variablerna globalt tillgängliga. Introduktion till vetenskapliga beräkningar II, Tom Sundius

8 MODULE global REAL :: A,B,C END MODULE global PROGRAM addtest USE global interface SUBROUTINE add USE global END SUBROUTINE add end interface PRINT *, "Input a,b:" READ *, A,B CALL ADD PRINT *, C END PROGRAM addtest SUBROUTINE add USE global C = A + B RETURN END SUBROUTINE add Introduktion till vetenskapliga beräkningar II, Tom Sundius

9 Satsen USE kan också användas i en annan modul, varigenom deklarationerna i den första modulen blir tillgängliga i den andra, och en subrutin som använder den andra modulen, får därmed också automatiskt tillgång till den andra modulens data. Detta belyses av nedanstående exempel: MODULE nummer_ett SAVE REAL :: tal_ett END MODULE nummer_ett MODULE nummer_tva USE nummer_ett SAVE REAL :: tal_tva END MODULE nummer_tva SUBROUTINE test USE nummer_tva REAL :: x x = tal_ett + tal_tva Introduktion till vetenskapliga beräkningar II, Tom Sundius

10 Moduler kan också använda för att göra det bekvämare att använda explicita gränssnitt, vilket visas av följande exempel: MODULE granssnitt INTERFACE SUBROUTINE rutin1 (A,B,C)... END SUBROUTINE rutin1 SUBROUTINE rutin2 (X,Y)... END SUBROUTINE rutin2 END INTERFACE END MODULE granssnitt PROGRAM test USE granssnitt... CALL RUTIN1 (Q,R,S) CALL RUTIN2 (V,W)... END PROGRAM test Introduktion till vetenskapliga beräkningar II, Tom Sundius

11 Man kan också inkapsla procedurer i en modul med hjälp av CONTAINS-satsen. Med hjälp av USE-satsen kan man sedan göra dem tillgängliga i ett program som anropar dem, och behöver då inte använda ett explicit gränssnitt. Besläktade rutiner kan inneslutas i samma modul, och var och en av dem har ett explicit gränssnitt till de andra procedurerna i modulen. Programexemplet ovan skulle alltså också kunna skrivas MODULE procedurer CONTAINS SUBROUTINE rutin1 (A,B,C)... END SUBROUTINE rutin1 SUBROUTINE rutin2 (X,Y)... END SUBROUTINE rutin2 END MODULE procedurer PROGRAM test USE procedurer... CALL RUTIN1 (Q,R,S) CALL RUTIN2 (V,W)... END PROGRAM test Introduktion till vetenskapliga beräkningar II, Tom Sundius

12 Ett mera konkret exempel på användningen av modulprocedurer visas i följande program, som beräknar en Taylor-utveckling för exponentialfunktionen (fungerar t.o.m. x-värdet 10). Observera, att subrutinen TAYLOR anropar POWFAC inom samma modul. Modulen func kan också kompileras skilt för sig. MODULE func implicit none contains FUNCTION POWFAC (X,N) REAL :: POWFAC REAL, INTENT(IN) :: X INTEGER, INTENT(IN) :: N INTEGER :: I POWFAC = 1. DO I = 1,N POWFAC = POWFAC*X/REAL(I) END DO RETURN END FUNCTION POWFAC FUNCTION TAYLOR (X,N) REAL :: TAYLOR INTEGER, INTENT(IN) :: N REAL, INTENT(IN) :: X INTEGER :: I TAYLOR = 1. Introduktion till vetenskapliga beräkningar II, Tom Sundius

13 DO I=1,N TAYLOR = TAYLOR + POWFAC(X,I) END DO RETURN END FUNCTION TAYLOR END MODULE func PROGRAM tayltest USE func INTEGER :: I REAL :: X, Y, Y1 PRINT *, "Ange x: " READ *, X Y1 = 1. DO I=1,30 Y = TAYLOR(X,I) print *, i, y IF (ABS(Y-Y1) <= EPSILON(Y)) EXIT Y1 = Y END DO PRINT *, " Tayl = ", Y, " Diff = ", Y-Y1, " I = ", I STOP END PROGRAM tayltest Introduktion till vetenskapliga beräkningar II, Tom Sundius

14 2.8. Inmatning och utskrift i Fortran Vi har tidigare beskrivit vad man brukar kalla listorienterad inmatning och utskrivning med hjälp av READoch PRINT-satserna. Någon större kontroll av formatet får man dock inte på detta sätt. Dessutom kan vi inte läsa och skriva datafiler (t.ex.), utan måste begränsa oss till dataterminalen. En allmän inmatningsinstruktion kan ges i formen READ (enhet, format) datalista, där enhet anger en logisk enhetsnummer (som kan vara ett heltalsuttryck), format anger på vilket sätt data skall läsas in, och datalista är en lista på variabler som läses in. Den motsvarande allmänna utskriftsinstruktionen är WRITE (enhet, format) datalista. Istället för att ange en enhetsnummer, kan man använda en asterisk (*), t.ex. WRITE (*, 100)..., som anger utskrift på en terminal (instruktionen betyder i detta fall detsamma som PRINT 100,...). Formatspecifikationen kan anges på olika sätt. Ett sätt är att använda en satsnummer, instruktionen WRITE (*, 100) I kan t.ex. efterföljas av en formatsats 100 FORMAT(1X,I4), som anger att fyra tecken skall reserveras för heltalsvariabeln I. Denna formatsats kan placeras var som helst i programmet (eller subrutinen). Ofta brukar man samla formatsatserna i slutet av programenheten (före END), eller genast efter in- och utmatningssatserna, för att man inte skall glömma bort dem så lätt. Man kan också inkludera formatsatsen i själva inmatnings- eller utskriftsinstruktionen. Introduktion till vetenskapliga beräkningar II, Tom Sundius

15 I exemplet ovan skulle man t.ex. kunna skriva WRITE (*, (1X,I4) ) I eller mera explicit, WRITE (*, FMT= (1X,I4) ) I (observera apostroferna). Vi skall nu studera mera i detalj de olika formatspecifikationerna. En formatspecifikation består i allmänhet av en lista av beskrivningar åtskiljda av kommatecken, och omgivna av parenteser. För att beskriva utskrift av heltal (t.ex.) används beteckningen kim, som reserverar plats för k stycken heltal, som vart och ett har plats för m tecken. Om k = 1, kan det utelämnas. För att lämna mellanrum används beteckningen nx, där n anger antalet mellanrum. Om man skickar utskriften till en skrivare, kommer oftast det första tecknet på raden inte att skrivas ut, och därför brukar man inleda formatspecifikationen med 1X, såsom (1X,I4). En mera användbar formatspecifikation är Tn, och de besläktade specifikationerna TRn och TLn, som gör det möjligt ange den position på raden, där följande utskrift börjar. Specifikationen T5 anger sålunda, att följande tecken skall skrivas ut f.o.m. den femte kolumnen, medan TR5 anger, att man skall flytta sig fem positioner framåt, innan följande utskrift sker. Specifikationen TRn har således samma effekt som nx. Sålunda betyder t.ex. PRINT (T3,I3,TR4,I5,T20,F8.3), A,B,C att talet A skrivs med början i kolumn 3 (egentligen kolumn 2, om utskriften sker till radskrivare), sedan överhoppas fyra kolumner, innan B skrivs ut, och till slut skrivs C ut f.o.m. kolumn 20. Introduktion till vetenskapliga beräkningar II, Tom Sundius

16 Antag, att tre heltal I, J och K skrivs med satsen WRITE (*,100) I, J, K, och att formatsatsen är 100 FORMAT(1X,I4,1X,I5,I6). Om talen är I = 3, J = 31 och K = 2300, så kommer utskriften att se ut på följande sätt: (observera mellanrummen). Om man vill skriva ut talen på tre skilda rader, så måste man använda tre skilda WRITE-satser: WRITE (*,100) I WRITE (*,100) J WRITE (*,100) K Resultatet av utskriften blir i detta fall Mellan listan i formatbeskrivningen och datalistan råder en entydig motsvarighet. Datalistan läses från vänster till höger. Om listan i formatbeskrivningen tar slut innan datalistan slutbehandlats, påbörjas automatiskt en ny rad. Med varje WRITE-sats skriver man ut en post (record). När datalistan tar slut, avslutas behandlingen av formatbeskrivningen (av detta följer att alla heltal i exemplet skrivs ut i formatet I4). Introduktion till vetenskapliga beräkningar II, Tom Sundius

17 Man kan också skriva ut talen på skilda rader på ett annat sätt, genom att använda specifikationen /: WRITE (*, FMT=100) I,J,K 100 FORMAT (1X, I4/I5/I6) Behandlingen av reella tal är något mer komplicerad. Formatbeskrivningen har i allmänhet formen kfm.n, som anger utskrift av k stycken tal för vilka reserverats m tecken, varav n decimaler. Satsen PRINT (1X, F8.4), X anger sålunda, att talet X skrivs ut i kolumnerna 2-9 med fyra decimaler. Om t.ex. X = , så blir utskriften Observera, att ingen konversion av reella tal till heltal och vice versa kan förekomma. Antag att I = 3, J = 66, X = och Z = är fyra tal som skall skrivas ut med satserna WRITE (*, 99) I, X, J, Z 99 FORMAT (1X, I3, F8.3) Eftersom formatlistan endast innehåller två specifikationer, kommer talen att skrivas ut på två rader: Introduktion till vetenskapliga beräkningar II, Tom Sundius

18 Om man vill skriva talen på samma rad, kan man upprepa formatbeskrivningen för talen på följande sätt: FORMAT (1X, 2(I3,F8.3)), vilket är ekvivalent med FORMAT (1X, I3, F8.3, I3, F8.3). Man kan också använda en upprepad formatbeskrivning för att skriva ut en rad med tecken på skärmen: PRINT (1X, 60( * )) (observera den dubbla apostrofen, som behövs eftersom formatbeskrivningen bör omges av apostrofer!). Om en matris är symmetrisk, brukar man ofta endast skriva ut den undre triangeln. Detta kan göras med följande slinga: DO i=1,n WRITE (*, (1X,10F8.3) ) (A(i,j), j=1,i) END DO Med detta format kan man skriva högst tio matriselement per rad. Om n > 10, kommer längre rader att delas upp på flere, eftersom datalistan i detta fall är längre än formatlistan. Med hjälp av specifikationen / kan man skriva ut komplicerade utskrifter med en enda WRITE-sats, såsom visas av följande exempel: WRITE (6, FMT=200) x, y, x+y, x*y 200 FORMAT (1X//5X,"Utskriftsexempel"// & 1X, "Summan av", F8.3, " och ", F8.3, " är ", F9.3// & 1X, "Deras produkt är ", F15.4//) Introduktion till vetenskapliga beräkningar II, Tom Sundius

19 Exempel på utskriften i detta fall är Utskriftsexempel Summan av och är Deras produkt är För reella tal som uttryckes i exponentiell form finns ett särskilt format, som allmänt uttrycks kem.n. Liksom tidigare anger k antalet upprepningar, m är totalantalet tecken som reserveras för talet, och n är antalet decimaler. När man räknar ut hur många tecken som behövs totalt, måste man komma ihåg att reservera ett tecken för förtecknet, ett för decimalpunkten, ett för bokstaven E (som betyder exponent ) samt ytterligare (minst) tre tecken för exponenten. Om vi t.ex. använder formatet E14.4, så uttrycks talen och som E+14 resp E-07 (om datorn normerar mantissan till ett tal mellan 0 och 1). För att formatera teckensträngar används i Fortran ett särskilt format, som allmänt kan uttryckas kan, där k anger antalet upprepningar, och n är antalet tecken i strängen. Med hjälp av detta format kan man skriva ut den tidigare omnämnda asteriskraden på ett annat sätt: Introduktion till vetenskapliga beräkningar II, Tom Sundius

20 CHARACTER (1), PARAMETER :: star= * PRINT 100,(star, I=1,60) 100 FORMAT(1X,80A1) Observera även, att ett heltal endast kan skrivas ut med I-format, och ett reellt tal endast med F-format. Om man försöker skriva ut heltal med F-format eller reella tal med I-format vet man inte vad som kan hända. Som ett mera konkret exempel på utskrift, skall vi studera ett program, som skriver ut en tabell. PROGRAM trigtab! Program som skriver ut en tabell över sinus och cosinus REAL :: x REAL, PARAMETER :: pi= INTEGER :: i PRINT (4X,A), "Sinus och cosinustabell" PRINT (4X,23( - )/) PRINT (1X,A,4X,A,6X,A)), "x(grader)","sin x", "cos x" DO i=1,11 x = pi*real(i-1)/5. PRINT (1X,I6,2X,2F11.6), 36*(I-1), SIN(X), COS(X) END DO END PROGRAM trigtab Introduktion till vetenskapliga beräkningar II, Tom Sundius

21 Resultatet kommer att se ut såhär: Sinus och cosinustabell x(grader) sin x cos x Introduktion till vetenskapliga beräkningar II, Tom Sundius

22 Vi skall ytterligare se på ett annat exempel, som visar hur man kan skriva ut en multiplikationstabell med relativt snygg formatering. Programmet använder positionsformatering, och skriver ut tabellen som en matris. PROGRAM multi! Ett program som skriver ut multiplikationstabellen! 1-9 i snyggt format INTEGER :: X, Y CHARACTER (1) :: NUM(9) DO X = 1, 9 NUM(X) = ACHAR(X+48) END DO WRITE (*, FMT=100) (NUM(X), X=1,9) 100 FORMAT(T5, *, 9(TR2,A)) WRITE (*, (T5, -+,27( - )) ) DO X = 1, 9 WRITE (*, 101) X, (X*Y, Y = 1, 9) 101 FORMAT (T5,I1,,9(TR1,I2)) END DO STOP END PROGRAM multi Introduktion till vetenskapliga beräkningar II, Tom Sundius

23 När programmet utföres, får man följande resultat: * Samma formatbeskrivningar, som gäller för utskrift kan också användas för inmatning av data. Man måste dock vara noggrann med att införa tal i rätt kolumn, eftersom de annars lätt tolkas fel. Introduktion till vetenskapliga beräkningar II, Tom Sundius

24 Om vi t.ex. skall läsa in två tal med instruktionerna READ (*, 10) I,J 10 FORMAT (2I4) och skriver de två talen, t.ex. 15 och 24, så att det första av dem upptar kolumnerna 4-5 och det andra talet kolumnerna 8-9, så får vi I = 1 och J = 52, vilket knappast var meningen ( mellanrum ignoreras i numeriska fält ). En liknande flexibel tolkning gäller också för läsning av reella tal. Om vi t.ex. läser raden (observera: två mellanrum före vartdera talet) med satsen READ (I5, F5.2), I,X så blir tolkningen I = 123, X = 4.56, men om vi istället använder satsen READ (I4,F6.2),I,X så blir tolkningen I = 12, X = Introduktion till vetenskapliga beräkningar II, Tom Sundius

2.4. Teckensträngar och logiska uttryck

2.4. Teckensträngar och logiska uttryck 2.4. Teckensträngar och logiska uttryck I Fortran sparar man text i variabler av typen CHARACTER. För varje tecken reserveras normalt 1 byte i minnet. För att deklarera en teckenvariabel TEXT och samtidigt

Läs mer

READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen 1.8 6.5 14.9 5.1 1.2 0.4 17.4 25. 4. -6.1 4.8-7.8

READ (*, 100) X,Y,Z,T,U,V 100 FORMAT (6F5.2) för att läsa in talen 1.8 6.5 14.9 5.1 1.2 0.4 17.4 25. 4. -6.1 4.8-7.8 forts. på föregående föreläsning: I allmänhet lönar det sig att sätta ut decimalpunkterna för reella tal. Om man inte enkelt kan skriva talen under varandra så kan det lätt uppstå fel vid inmatningen,

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc. Introduktion till MATLAB Martin Nilsson Avdelningen för teknisk databehandling Institutionen för informationsteknologi Uppsala universitet MATLAB the Matrix Laboratory utvecklat av MathWorks, Inc. Matematisk

Läs mer

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv Datorlära 6 Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv 1 Arbeta med Strängar Strängar skapas med text inom citattecken, enkla eller dubbla.!>> str=

Läs mer

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde: TANA81: Beräkningar med Matlab - Variabler och Matriser - Logiska uttryck och Villkor - Repetitionssatser - Grafik - Funktioner Variabler I Matlab skapas en variabel genom att man anger dess namn och ger

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

2.2. Ett enkelt Fortran-program

2.2. Ett enkelt Fortran-program 2.2. Ett enkelt Fortran-program Vi kommer nu att gå in på grunderna till programmering, och väljer Fortran som programmeringsspråk, dels för att det är det mest använda för numeriska beräkningar i fysik

Läs mer

Approximation av funktioner

Approximation av funktioner Vetenskapliga beräkningar III 8 Kapitel Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner I allmänhet kan inte ens elementära funktioner

Läs mer

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och... Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 27 oktober 2015 Sida 1 / 31 TANA17 Kursmål och Innehåll Målet med kursen är att Ge grundläggande färdighet

Läs mer

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26 TAIU07 Matematiska beräkningar med MATLAB för MI Fredrik Berntsson, Linköpings Universitet 15 januari 2016 Sida 1 / 26 TAIU07 Kursmål och Innehåll Målet med kursen är att Ge grundläggande färdighet i att

Läs mer

Pascal... Pascal. Pascal... Pascal...

Pascal... Pascal. Pascal... Pascal... ... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

4.3. Programmering i MATLAB

4.3. Programmering i MATLAB 4.3. Programmering i MATLAB MATLAB används ofta interaktivt, dvs ett kommando som man skriver, kommer genast att utföras, och resultatet visas. Men MATLAB kan också utföra kommandon som lagrats i filer,

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Övningsuppgifter till föreläsning 2 Variabler och uttryck Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna

Läs mer

Översikt över Visual Basic

Översikt över Visual Basic Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller

Läs mer

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln Matlab-föreläsning (4), 10 september, 015 Innehåll m-filer (script) - fortsättning från föreläsning 1 In- och utmatning Sekvenser, vektorer och matriser Upprepning med for-slingor (inledning) Matlab-script

Läs mer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer Datorlära 1 Introduktion till datasystemet, epost konto, afs hemkonto Introduktion till datorer och datasalar Open Office Calculator Beräkningar med Open Office Calc Diagram med OO Calc Datorlära 2 Utforma

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan. Matematik Chalmers tekniska högskola 2014-08-27 kl. 08:30-12:30 Tentamen MVE355, Programmering och numeriska beräkningar med matlab. Ansvarig: Katarina Blom, tel 772 10 97. Plats: L Inga hjälpmedel. Kalkylator

Läs mer

Föreläsning 8: Aritmetik och stora heltal

Föreläsning 8: Aritmetik och stora heltal 2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab Matematiska vetenskaper 2010/2011 Matriser och Inbyggda funktioner i Matlab 1 Inledning Vi skall denna vecka se på matriser och funktioner som är inbyggda i Matlab, dels (elementära) matematiska funktioner

Läs mer

COBOL. från grunden. monitors. Peter Sterwe. training people

COBOL. från grunden. monitors. Peter Sterwe. training people training people monitors COBOL från grunden Peter Sterwe Lär dig grunderna i COBOL-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och

Läs mer

Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab CTH/GU 2/22 Matematiska vetenskaper Inledning Mer om funktioner och grafik i Matlab Först skall vi se lite på funktioner som redan finns i Matlab, (elementära) matematiska funktioner som sinus och cosinus

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 Matematisk Statistik SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 1 Introduktion Denna laboration är inte poänggivande utan är till för den som vill bekanta sig med MATLAB. Fokusera

Läs mer

Komplexa tal: Begrepp och definitioner

Komplexa tal: Begrepp och definitioner UPPSALA UNIVERSITET Baskurs i matematik, 5hp Matematiska institutionen Höstterminen 007 Erik Darpö Martin Herschend Komplexa tal: Begrepp och definitioner Komplexa tal uppstod ur det faktum att vissa andragradsekvationer,

Läs mer

"Crash Course in Programming"

Crash Course in Programming "Crash Course in Programming" Denna genomgång har fokus på programmering. Den följer PBasic-syntaxen för Basic Stamp II, men är i övrigt i stort sett frikopplad från BS2. Vissa aspekter som tas upp följer

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

2 februari 2016 Sida 1 / 23

2 februari 2016 Sida 1 / 23 TAIU07 Föreläsning 4 Repetitonssatsen while. Avbrott med break. Exempel: En Talföljd och en enkel simulering. Egna funktioner. Skalärprodukt. Lösning av Triangulära Ekvationssystem. Programmeringstips.

Läs mer

3.3. Symboliska matematikprogram

3.3. Symboliska matematikprogram 3.3. Symboliska matematikprogram Vi skall nu övergå till att behandla de vanligaste matematikprogrammen, och börja med de symboliska. Av dessa kan både Mathematica och Maple användas på flere UNIX-datorer.

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 4. Funktioner 1 Egna Funktioner Uppgift 1.1 En funktion f(x) ges av uttrycket 0, x 0, f(x)= sin(x), 0 < x π 2, 1, x > π 2 a) Skriv en Matlab funktion

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 2 november 2015 Sida 1 / 23 Föreläsning 2 Index. Kolon-notation. Vektoroperationer. Summor och medelvärden.

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2016 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Introduktion till programmering SMD180. Föreläsning 3: Funktioner Introduktion till programmering Föreläsning 3: Funktioner 1 1 Mer matematik Vi har sett matematiska uttryck med variabler, värden och operatorer, ex: 17+n pi/2 hours*60+minutes Kan man även skriva uttryck

Läs mer

Introduktion till Python Teoridel

Introduktion till Python Teoridel Institutionen för teknikvetenskap och matematik, LTU 2 november 2014 Laboration 1, M0043M, HT14 Laborationsuppgifter skall lämnas in senast 21 november 2014. Introduktion till Python Teoridel 1 Inledning

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Datorlektion 6. Text och filer 1 Textsträngar Uppgift 1.1 Skapa en sträng som innehåller texten: kommer du snart?. Använd length för att kontrollera hur många

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Algoritmer Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Datatyper Tal UTF-8 2 Procedurell abstraktion Repetition

Läs mer

MATLAB - en kompakt introduktion av Tore Gustafsson

MATLAB - en kompakt introduktion av Tore Gustafsson 6.1.7 1 ÅBO AKADEMI TEKNISKA FAKULTETEN MATLAB - en kompakt introduktion av Tore Gustafsson MATLAB 1 är ett interaktivt programpaket för numeriska beräkningar. Matlab står för matrix laboratory och är

Läs mer

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner KPP053, HT2015 MATLAB, Föreläsning 1 Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner MATLAB Väletablerat Mycket omfattande program GNU OCTAVE Öppen

Läs mer

Inledning till OpenOffice Calculator Datorlära 2 FK2005

Inledning till OpenOffice Calculator Datorlära 2 FK2005 Inledning till OpenOffice Calculator Datorlära 2 FK2005 Mål Lära sig att skapa och använda ett räkneblad med OpenOffice Calculator Beräkna medelvärde och standardavvikelsen med räknebladet Producera en

Läs mer

Introduktion till MATLAB

Introduktion till MATLAB 29 augusti 2017 Introduktion till MATLAB 1 Inledning MATLAB är ett interaktivt program för numeriska beräkningar med matriser. Med enkla kommandon kan man till exempel utföra matrismultiplikation, beräkna

Läs mer

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,

Läs mer

Mer om funktioner och grafik i Matlab

Mer om funktioner och grafik i Matlab CTH/GU 2017/2018 Matematiska vetenskaper Mer om funktioner och grafik i Matlab 1 Inledning Först skall vi se lite på funktioner som redan finns i Matlab, (elementära) matematiska funktioner som sinus och

Läs mer

Matematiska uppgifter

Matematiska uppgifter Elementa Årgång 67, 984 Årgång 67, 984 Första häftet 3340. a) Vilket av talen A = 984( + + 3 + + 984 ) är störst? b) Vilket av talen B 3 = 3 + 3 + 3 3 + + 984 3 är störst? A / = 984( + + 3 + + 984) B =

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce

Läs mer

Vektorgeometri för gymnasister

Vektorgeometri för gymnasister Vektorgeometri för gymnasister Per-Anders Svensson http://homepage.lnu.se/staff/psvmsi/vektorgeometri/gymnasiet.html Fakulteten för teknik Linnéuniversitetet Diagonalisering av linjära avbildningar III

Läs mer

Matriser och Inbyggda funktioner i Matlab

Matriser och Inbyggda funktioner i Matlab CTH/GU STUDIO 1 TMV036a - 2012/2013 Matematiska vetenskaper Matriser och Inbyggda funktioner i Matlab Analys och Linjär Algebra, del A, K1/Kf1/Bt1 Moore: 2.3, 3.1-3.4, 3..1-3.., 4.1, 7.4 1 Inledning Nu

Läs mer

Läsanvisningar till kapitel 4 i Naturlig matematik

Läsanvisningar till kapitel 4 i Naturlig matematik Läsanvisningar till kapitel 4 i Naturlig matematik Avsnitt 4.1 I kapitel 4 kommer du att möta de elementära funktionerna. Dessa är helt enkelt de vanligaste funktionerna som vi normalt arbetar med. Här

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26 TANA17 Matematiska beräkningar med MATLAB för M, DPU Fredrik Berntsson, Linköpings Universitet 4 december 2015 Sida 1 / 26 Föreläsning 7 Textsträngar. Formatterade utskrifter. Filhantering. Seminarieuppgiften.

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Komplexa tal. Sid 1: Visa att ekvationerna på sid 1 saknar reella lösningar genom att plotta funktionerna.

Komplexa tal. Sid 1: Visa att ekvationerna på sid 1 saknar reella lösningar genom att plotta funktionerna. Komplexa tal Komplexa tal stötte vi på redan i kurs 2 i samband med lösningar till andragradsekvationer. Detta är startpunkten för denna ganska omfattande aktivitet om komplexa tal, som behandlas i kurs

Läs mer

Laboration: Grunderna i MATLAB

Laboration: Grunderna i MATLAB Laboration: Grunderna i MATLAB 25 augusti 2005 Grunderna i MATLAB Vad är MATLAB? MATLAB är ett interaktivt program för vetenskapliga beräkningar. Som användare ger du enkla kommandon och MATLAB levererar

Läs mer

A1:an Repetition. Philip Larsson. 6 april Kapitel 1. Grundläggande begrepp och terminologi

A1:an Repetition. Philip Larsson. 6 april Kapitel 1. Grundläggande begrepp och terminologi A1:an Repetition Philip Larsson 6 april 013 1 Kapitel 1. Grundläggande begrepp och terminologi 1.1 Delmängd Om ändpunkterna ska räknas med används symbolerna [ ] och raka sträck. Om ändpunkterna inte skall

Läs mer

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Funktioner och grafritning i Matlab

Funktioner och grafritning i Matlab CTH/GU LABORATION 3 MVE11-212/213 Matematiska vetenskaper 1 Inledning Funktioner och grafritning i Matlab Först skall vi se lite på (elementära) matematiska funktioner i Matlab, som sinus och cosinus.

Läs mer

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 TAIU07 Föreläsning 2 Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26 Matriselement och Index För att manipulera

Läs mer

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a

x f (x) dx 1/8. Kan likhet gälla i sistnämnda relation. (Torgny Lindvall.) f är en kontinuerlig funktion på 1 x sådan att lim a Elementa Årgång 50, 967 Årgång 50, 967 Första häftet 2603. Låt ξ, ξ 2,..., ξ n vara stokastiska variabler med väntevärden E[ξ i ], i =, 2,..., n. Visa att E[max(ξ, ξ 2,..., ξ n )] max(e[ξ ], E[ξ 2 ],...,

Läs mer

Datorövning 1 Calc i OpenOffice 1

Datorövning 1 Calc i OpenOffice 1 Datorövning 1 Calc i OpenOffice 1 1 OpenOffice Calc Till förmån för de som följer kursen Fysikexperiment för lärare skall vi här gå igenom några få exempel på hur OO Calc (motsvarar MS Excel) kan användas

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

TSBB14 Laboration: Intro till Matlab 1D

TSBB14 Laboration: Intro till Matlab 1D TSBB14 Laboration: Intro till Matlab 1D Utvecklad av Maria Magnusson med mycket hjälp av Lasse Alfredssons material i kursen Introduktionskurs i Matlab, TSKS08 Avdelningen för Datorseende, Institutionen

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

7 november 2014 Sida 1 / 21

7 november 2014 Sida 1 / 21 TANA09 Föreläsning 2 Talrepresentation i datorer. Flyttalssystem. Datoraritmetik och Beräkningsfel. Beräkningsfelsanalys och Kancellation. Serier och Resttermsuppskattningar. Tillämpning - Beräkning av

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

Iteration while-satsen

Iteration while-satsen Datatypen double TDA143 I1 Programmerade system Föreläsning 3 (OH-bilder 3) Iteration while-satsen Christer Carlsson I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna,

Läs mer

f (a) sin

f (a) sin Hur kan datorn eller räknedosan känna till värdet hos till exempel sin0.23 eller e 2.4? Denna fråga är berättigad samtidigt som ingen tror att apparaterna innehåller en gigantisk tabell. Svaret på frågan

Läs mer

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar KPP053, HT2016 MATLAB, Föreläsning 2 Vektorer Matriser Plotta i 2D Teckensträngar Vektorer För att skapa vektorn x = [ 0 1 1 2 3 5]: >> x = [0 1 1 2 3 5] x = 0 1 1 2 3 5 För att ändra (eller lägga till)

Läs mer

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5

16 Programmering TI -86 F1 F2 F3 F4 F5 M1 M2 M3 M4 M5 16 Programmering Skriva program till TI-86... 214 Köra program... 221 Arbeta med program... 223 Hämta och köra assemblerprogram... 226 Arbeta med strängar... 227 TI -86 M1 M2 M3 M4 M5 F1 F2 F3 F4 F5 214

Läs mer

Laboration: Grunderna i Matlab

Laboration: Grunderna i Matlab Laboration: Grunderna i Matlab Att arbeta i kommandofönstret och enkel grafik Den här delen av laborationen handlar om hur man arbetar med kommandon direkt i Matlabs kommandofönster. Det kan liknas vid

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

MAPLE MIKAEL STENLUND

MAPLE MIKAEL STENLUND MAPLE MIKAEL STENLUND. Introduktion I dina inlämningsuppgifter skall ett program som heter Maple användas för att lösa ett antal matematiska problem. Maple är ett symbolhanterande program som har ett antal

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

Pythons standardbibliotek

Pythons standardbibliotek Pythons standardbibliotek Python 3 skall, enligt standarddokumenten http://docs.python.org/py3k/library/index.html ha stöd för vissa funktioner, typer och datastrukturer Så länge man håller sig till detta

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

LMA033/LMA515. Fredrik Lindgren. 4 september 2013

LMA033/LMA515. Fredrik Lindgren. 4 september 2013 LMA033/LMA515 Fredrik Lindgren Matematiska vetenskaper Chalmers tekniska högskola och Göteborgs universitet 4 september 2013 F. Lindgren (Chalmers&GU) Matematik 4 september 2013 1 / 25 Outline 1 Föreläsning

Läs mer

Inociell Lösningsmanual Endimensionell analys. E. Oscar A. Nilsson

Inociell Lösningsmanual Endimensionell analys. E. Oscar A. Nilsson Inociell Lösningsmanual Endimensionell analys E. Oscar A. Nilsson January 31, 018 Dan Brown "The path of light is laid, a secret test..." Tillägnas Mina vänner i Förord Detta är en inociell lösningsmanual

Läs mer

Textsträngar från/till skärm eller fil

Textsträngar från/till skärm eller fil Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,

Läs mer

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar.

OBS! All teori i detta och följande dokument kompletteras med genomgångar på lektionerna. Så det är viktigt att närvara och göra egna anteckningar. Värmdö Gymnasium Programmering A 110123 Lektion C1 Grunder Att programmera handlar mycket om att lära sig att analysera det problem eller den funktion man vill att programmet ska ha, och översätta det

Läs mer

Kapitel 3. Approximation av funktioner

Kapitel 3. Approximation av funktioner Kapitel 3. Approximation av funktioner Vi skall nu övergå till att beskriva, hur man i praktiken numeriskt beräknar funktioner. I allmänhet kan inte ens elementära funktioner såsom sinus- och cosinusfunktionerna

Läs mer

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim

Objektorienterad programmering Föreläsning 11. Copyright Mahmud Al Hakim Objektorienterad programmering Föreläsning 11 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Multipla relationer Flerdimensionella fält Nationella inställningar Redigering av utskrifter

Läs mer

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1 M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1 Ove Edlund LTU 2014-11-07 Ove Edlund (LTU) M0043M, M1 2014-11-07 1 / 14 Några elementära funktioner i Matlab Exempel exp Beräknar e

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer