F1: Introduktion, Matlab (kap. 1 2)

Relevanta dokument
F1: Introduktion, Matlabrepetition (kap. 1 2)

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Kursuppläggning. F1: Introduktion, Matlabrepetition (kap. 1 2) Motivering för programmering. Att kunna programmera

F1: Introduktion, Matlab (kap. 1 2)

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Varför program? F1: Introduktion, Matlab (kap. 1 2)

Kursinnehåll. Introduktion till kursen. Hederskodex. Programmering

Introduktion & MATLABrepetition. (Kap. 1 2 i MATLAB Programming for Engineers, S. Chapman)

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

Introduktion till MATLAB

Beräkningsvetenskap föreläsning 2

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. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

TDIU01 - Programmering i C++, grundkurs

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Instruktion för laboration 1

Svensk Matlab-terminologi

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

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

Introduktion till Matlab

Beräkningsverktyg HT07

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

TAIU07 Matematiska beräkningar med Matlab

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Objektorienterad Programmering (TDDC77)

Objektorienterad programmering Föreläsning 4

Matriser och vektorer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Datorövning 1: Introduktion till MATLAB

Programmering för språkteknologer I, VT2012. Rum

Introduktion till MATLAB Föreläsning 1

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

TSBB14 Laboration: Intro till Matlab 1D

TDDC77 Objektorienterad Programmering

Kapitel 4. Programmet MATLAB

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

Matriser och Inbyggda funktioner i Matlab

Introduktion till Matlab

Instruktion för laboration 1

Klassdeklaration. Metoddeklaration. Parameteröverföring

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Programmering A. Johan Eliasson

Översikt över Visual Basic

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

MATLAB Matrix laboratory

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

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

Laboration: Vektorer och matriser

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

Linjär algebra med tillämpningar, lab 1

Matriser och vektorer i Matlab

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

MMA132: Laboration 2 Matriser i MATLAB

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

Matlabövning 1 Funktioner och grafer i Matlab

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

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

Introduktion till Matlab

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

DN1212/numpp Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

SMD 134 Objektorienterad programmering

TANA17 Matematiska beräkningar med Matlab

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Introduktion till Matlab

Introduktion till programmering och Python Grundkurs i programmering med Python

Läsning, skrivning, tangentbord, skärm. F6: Filhantering (kap. 8) Tabell på skärmen. save

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

Matriser och Inbyggda funktioner i Matlab

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

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

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Laboration 1: Linjär algebra

4.3. Programmering i MATLAB

Introduktion till Matlab

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

Objektorienterad programmering i Java

TANA17 Matematiska beräkningar med Matlab

Linjära ekvationssystem i Matlab

Föreläsning 2. Operativsystem och programmering

[] Arrayer = Indexerad variabel

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Parameteröverföring. Exempel. Exempel. Metodkropp

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

Föreläsning 1 & 2 INTRODUKTION

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Variabler och konstanter

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

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

Transkript:

F1: Introduktion, Matlab (kap. 1 2) Varför programmera? Egenskaper hos Matlab Kommando-, redigerings-, arbetsplats-, tabell-, guide- och hjälpfönster, kommando-, funktions-, m- och loggfil Tabeller, storlek, dimension, variabel, identifierare, sökväg Uttryck, tilldelning, tysta kommandon, radindelning, litteraler Operatorer, aritmetiska, jämförande, logiska, komponentvisa Skapa tabell, indexera Datatyper Resten av kursen p 1(29) Staffan Romberger, CSC, KTH, 2012-08-27

Varför program? Civilingenjören och teknologen behöver: göra egna kalkyler, visa och illustrera kalkyler som övertygar uppdragsgivare/kund, ta fram program som uppdragsgivare/kund kan använda, ingår i produkter hon själv använder Varför programmera? För att man inte hittar något färdigt som gör det man vill. man får kontroll på vad programmet gör och hur. man vill träna logiskt tänkande och problemlösning. det är roligt p 2(29) Staffan Romberger, CSC, KTH, 2012-08-27

MATLAB: kan användas interaktivt, som kalkylator, innehåller många inbyggda funktioner och kan byggas ut med egna kommandofiler och funktioner och extra verktygslådor (toolbox), kan relativt lätt skapa diagram och annan grafik p 3(29) Staffan Romberger, CSC, KTH, 2012-08-27

Teknik: Interpreterat/kompilerat Man skriver Matlabkommandon i kommandofönstret och i m-filer (kommandofiler eller funktionsfiler). Kommandona översätts till p-kod (pseudokod). p-kod är maskinoberoende. En interpretator läser p-koden och utför en p-kodsinstruktion i taget. p-koden sparas under den aktuella sessionen eller tills minnet blir fullt. Interpretering ger inte maximal effektivitet men maskinoberoende. I Matlab finns möjlighet att kompilera, dvs. att översätta till maskininstruktioner. När det är gjort kan programmet utföras maximalt effektivt. Många klassiska programspråk är kompilerade t.ex. Fortran och C. Java fungerar som Matlab, dvs. använder en sorts p-kod (byte-kod) som kan kompileras (JIT = just in time ) när den exekveras första gången, för att de snabbare maskininstruktionerna ska användas om programdelen exekveras igen. Python, Applescript, Javascript m.fl. programspråk interpreteras normalt. p 4(29) Staffan Romberger, CSC, KTH, 2012-08-27

Att kunna programmera är att Behärska programspråket och programmeringsmiljön. Veta hur man hanterar vanliga delproblem. Kunna söka fel, testa, och ta hänsyn till effektivitet. Kunna skriva program och dokumentation så att de är lätta att underhålla. Känna till människans förmåga och ta hänsyn till den i designprocessen och i själva programmet. p 5(29) Staffan Romberger, CSC, KTH, 2012-08-27

Aktiviteter i programmeringskurs F Vi tittar på problem och, i stort sett, färdiga program med kommentarer. Ni får en mängd begrepp att jobba med och ska förstå programmet och kommentarerna, åtminstone översiktligt. Ö Vi startar med ett problem och följer lösningsprocessen. Ni kommer med förslag, alternativ och frågor. TÖ Ni arbetar själva fram lösningen till ett givet problem. Ni söker hjälp i tidigare undervisningsmoment, i MATLABsystemet, Webben, läroböcker och annat undervisningsmaterial. Ni ska öva på att förstå felmeddelanden och felmekanismer, använda Matlabs felsökningshjälpmedel och andra metoder att utveckla och kontrollera program. Eget arbete Tag problem ur läroböckerna, både till denna kurs och andra kurser, eller ur egen fantasi och lös dem med datorn. Programmering är en mängdträningssport och det brukar kännas tillfredsställande när man»lätt» kan programmera datorn att göra grovjobbet med olika uppgifter. p 6(29) Staffan Romberger, CSC, KTH, 2012-08-27

Introduktion till Matlab Matlab finns för många plattformar, bl.a. Unix, Windows och Mac OS X. Det finns många viktiga fönster. Kommandofönstret är centralt. Där skriver man kommandon som utförs direkt. Matlab skriver normalt resultat i detta fönster. Mycket av det som man kan göra i andra fönster, kan man också göra med kommandon i kommandofönstret. Man kan starta kopiering (loggning) av kommandofönstret till en fil med diary filnamn. Med diary off slutar man spara. De inbyggda funktionerna och programdelar som man gör själv är normalt m-filer som innehåller Matlabkommandon och har filnamn som slutar på».m». M-filer kan redigeras med Matlabs redigeringsprogram eller med något annat redigeringsprogram, MSWord, emacs e.d. I Matlabs redigeringsfönster har man också tillgång till avlusningsfunktioner för att sätta stoppunkter, stega och inspektera variabler. I arbetsplatsfönstret kan man inspektera och i tabellfönstret kan man också ändra variabler. p 7(29) Staffan Romberger, CSC, KTH, 2012-08-27

Hjälp Det finns mycket hjälpinformation om Matlab förutom kursen och läroböcker. Via hjälpmenyn (eller med kommandot helpbrowser) når man hjälpfönstret med massor med länkad information. Kommandot lookfor text söker efter m-filer med text i första dokumentationskommentarrad. Kommandot help filnamn skriver alla dokumentationskommentarer dvs. inledande kommentarrader i m-filen filnamn.m. Det är lämpligt att förbereda egna m-filer så att de fungerar bra för lookfor och help. p 8(29) Staffan Romberger, CSC, KTH, 2012-08-27

Variabler En tabell som man vill spara till senare under räkningarna lagrar man i en variabel. En variabel har ett namn (identifierare) och man kan se variabeln som en namngiven plats i datorns minne där man kan spara/lagra en tabell. Identifierare kan innehålla A Z, a z, siffror och _ (understreck) och måste börja med bokstav. Versaler och gemena (stora och små bokstäver) anses olika och identifierare har en maximalt tillåten längd (MATLAB skiljer på 64). Normalt använder man gemena. För s.k. globala variabler använder man versaler. Det är viktigt att välja bra identifierare. De variabler som man använder i kommandofiler ingår i arbetsplatsen. Man kan se vilka det är med who, få mer information, bl.a. storlek, minnesutrymme och elementtyp, med whos och radera med clear. Det finns några fördefinierade variabler såsom ans, eps, realmax, realmin, pi, Inf, NaN, i, j. Variabeln eps påverkas inte av clear. p 9(29) Staffan Romberger, CSC, KTH, 2012-08-27

Tabeller Matlab står ju för matrix laboratory (matrislabb). Med matris menar man normalt en tabell med rader och kolumner. Vi kommer att använda termen»tabell» för Matlabs mer generella matriser (eng. arrays). Man kan se praktiskt taget allt som Matlab kan hantera som tabeller. En tabell har en storlek (size) som är en vektor med antalet komponenter i de olika riktningarna/dimensionerna. Antalet komponenter i storleken är tabellens dimension. En matris är en tabell med dimension 2. Vektorer hanteras som matriser med endast en komponent i den ena dimensionen. En radvektor har en komponent i första dimensionen (en rad) och en kolumnvektor har en komponent i andra dimensionen (en kolumn). Skalärer (tal) hanteras som matriser med storleken [1 1]. Tabeller med dimension 3 eller större finns men används sällan. Alla element i normala tabeller har samma typ. Det finns andra sorters tabeller. p 10(29) Staffan Romberger, CSC, KTH, 2012-08-27

Sökväg m.m. Matlab har en aktuell sökväg en lista av kataloger, som söks igenom i tur och ordning. När Matlab ska tolka en identifierare prövas tolkningar i denna ordning: variabel, inbyggd funktion eller inbyggt kommando, m-fil längs aktuell sökväg. Om Matlab verkar ha hängt sig, pröva med Ctrl-C. På vissa plattformar kan man skicka kommandon till OS med!kommando, t ex!dir (Windows) Det finns särskilda fönster (guidefönster) för att skapa användargränssnitt och hantera grafiska objekt. p 11(29) Staffan Romberger, CSC, KTH, 2012-08-27

Uttryck och tilldelning När man skriver en formel/ett uttryck i kommandofönstret beräknas uttryckets värde, värdet tilldelas variabeln ans och variabeln skrivs ut. Man kan istället lagra uttryckets värde i en annan variabel med ett tilldelningskommando. Man kan undertrycka utskriften genom att skriva»;» (semikolon) efter kommandot. Man kan styra hur mycket plats utskrifterna tar med format compact/format loose. Man kan skriva mer än ett kommando på en rad med»,» (kommatecken) eller»;» mellan kommandona. Ett kommando kan fortsättas på nästa rad om man avslutar raden med»» (tre punkter). Uttryck byggs upp, ungefär som matematikens formler, av tallitteraler, variabler, parenteser (), klamrar {}, operatorer (+ * -), [] (hakparenteser),, (kommatecken), ; (semikolon) (för att sätta ihop tabeller) och funktionsanrop. p 12(29) Staffan Romberger, CSC, KTH, 2012-08-27

Litteral är beteckning för ett värde. Litteraler kallas ibland för konstanter, men i programmeringssammanhang är en konstant en variabel vars värde inte kan ändras, när den har fått sitt första värde (write once). p 13(29) Staffan Romberger, CSC, KTH, 2012-08-27

Operatorer Matlab har många operatorer: +, addition, subtraktion * multiplikation / division (högerdivision) 10/5 är 2 \ vänsterdivision 10\5 är 5/10 är 0,5 ^ exponentiering (upphöjt till) 2^3 är 8 För tabeller finns det elementvisa operationer. För att A op B ska vara tillåtet måste A och B ha samma storlek eller åtminstone den ena vara skalär: +, elementvis addition, subtraktion.* elementvis multiplikation./ elementvis division.\ elementvis vänsterdivision.^ elementvis exponentiering p 14(29) Staffan Romberger, CSC, KTH, 2012-08-27

>>A = [1 2;3 4]; B = [2 4;8 16]; C = 5; >>A+B ans = 3 6 11 20 >>A./B ans = 0.5000 0.5000 0.3750 0.2500 C.\B ans = 0.4000 0.8000 1.6000 3.2000 p 15(29) Staffan Romberger, CSC, KTH, 2012-08-27

Icke elementvisa operatorer När den ena operanden är skalär fungerar dessa operatorer elementvis. C = A*B matrismultiplikation, A och B har högst dimension 2 och sista dimensionens storlek i A är lika första dimensionens storlek i B C = A/B matrisdivision, lösning av linjärt ekvationssystem F = E\D C = A*inv(B) resp. F = inv(e)*d C = A' komplexkonjugering & transponering, c ij =conj(a ji ) C = A.' transponering, c ij = a ji C = A^p A är kvadratisk, p är skalär C = A* *A (p ggr) p 16(29) Staffan Romberger, CSC, KTH, 2012-08-27

Logiska operationer Värdet 0 betraktas som falskt (false), alla andra värden betraktas som sant (true). Resultatet sant lagras som 1. < elementvis mindre än <= elementvis mindre än eller lika med > elementvis större än >= elementvis större än eller lika med == elementvis lika med ~= elementvis skilt från & elementvis och elementvis eller ~ elementvis icke && genvägsoch genvägseller p 17(29) Staffan Romberger, CSC, KTH, 2012-08-27

Prioritet 1 ^,.^, ',.' 2 Unära +, -, ~ dvs. med en operand 3 *,.*, /,./, \,.\ 4 Binära +, 5 : 6 ==, ~=, <, <=, >, >= 7 & 8 9 && 10 Ordningen kan förbigås med parenteser. Operatorer med samma prioritet utförs från vänster till höger, utom de unära som utförs från höger till vänster. p 18(29) Staffan Romberger, CSC, KTH, 2012-08-27

v = ~17 ans = 0 a = [1]; b = 1>3 & a(2); b = 1>3 && a(2); c = 1>3 & 6==10+--7 5/2/2\10 p 19(29) Staffan Romberger, CSC, KTH, 2012-08-27

Skapa tabell I en tabellitteral räknar man, mellan»[» och»]», upp elementen med»;» eller radbyte mellan raderna och»,» eller blanktecken mellan kolumnerna. Om tabellen ska ha dimension 3 eller mer skapar man ett lager i taget. Man kan också sammanfoga befintliga tabeller: A = [1 2;3 4]; B = [5 6;7 8]; x = [9 10]; y = [11;12]; z = [13 14]; Tre sätt att skapa xnew som [9 10 0 15]: xnew = x; xnew(3) = 0; xnew(4) = 15; xnew = [x 0 15]; temp = [0 15]; xnew = [x temp]; p 20(29) Staffan Romberger, CSC, KTH, 2012-08-27

Skapa tabell forts. Man kan lägga en ny rad eller en ny kolumn till A: Anew = [A;z]; Anew = [A;[13 14]]; Anew = [A y]; Anew = [A [11;12]]; Anew = 1:2:10; Anew = [1 3 5 7 9] Aritmetisk sekvens: start : steg : slut start, start+steg,start+2.steg,,start + n. steg tills (slut start (n+1). steg )*( slut start n. steg ) < 0 p 21(29) Staffan Romberger, CSC, KTH, 2012-08-27

Indexering, omformning Man kan nå enstaka element eller subtabeller med indexering. Elementen lagras i följd motsvarande att tidiga index varierar fortare än senare index. Man kan skriva ut elementen i denna ordning med A(1:numel(A)) eller A(:). >>A = reshape(1:9,3,3) A = [1 4 7 2 5 8 3 6 9] >>A(:)' ans = [1 2 3 4 5 6 7 8 9] p 22(29) Staffan Romberger, CSC, KTH, 2012-08-27

Indexering forts. Man kan ange en subtabell som vänsterled i en tilldelning. >>A(1:4:9) = 0; >>A = [0 4 3 2 0 8 3 6 0] >>A([3 5 7]) = [11 12 13] A = [ 0 4 13 2 12 8 11 6 0] >>A([1 3],[1 3]) = 20 A = [20 4 20 2 12 8 20 6 20] p 23(29) Staffan Romberger, CSC, KTH, 2012-08-27

Skapa speciella tabeller b:s:e en radvektor med elementen b b+s b+2*s b+3*s b+n*s så att n är det största heltal som gör b+n*s<=e om s > 0 linspace(a,b,n) a:(b-a)/(n-1):b linspace(0,12,6) [0 2.4 4.8 7.2 9.6 12] linspace(a,b) linspace(a,b,100) ones(n), matris med storlek [n n] resp. [m n p] med ettor ones(m, n,, p) zeros(n), matris med storlek [n n] resp. [m n p] med nollor zeros(m, n,, p) eye(n), matris med storlek [n n] resp. [m n] med ettor i eye(m,n) diagonalen och nollor f.ö. p 24(29) Staffan Romberger, CSC, KTH, 2012-08-27

Datatyper En datatyp kan vi i Matlab se som ett sätt att lagra data som bitmönster/tolka en variabels bitmönster som ett värde. I många programspråk anger programmeraren för varje variabel vilken sorts data (datatyp) den ska innehålla. I Matlab kan en variabel ha olika datatyp vid olika tillfällen. Data (värden) lagras som bitföljder i datorns minne. Olika datatyper, med olika minnesutrymme, används för olika behov. I laborationerna används bara (?) double och char int8 heltal 8 bitar 128..127 int16 heltal 16 bitar 32 768..32 767 int32 heltal 32 bitar 2 147 483 648..2 147 483 647 single flyttal 32 bitar ung. 3,4E 38..3,4E38 med 7 siffror double flyttal 64 bitar ung. 1,7E 308..1,7E308 med 15 siffror char tecken 16 bitar teckenkod (räcker till Unicode) p 25(29) Staffan Romberger, CSC, KTH, 2012-08-27

Datatyper forts. uint8 heltal utan tecken 8 bitar 0..255 uint16 heltal utan tecken 16 bitar 0..65 535 uint32 heltal utan tecken 32 bitar 0..4 294 967 295 logical inte egen datatyp Numeriska data lagras normalt som double. Man kan själv välja datatyp. >>d1 = 32; d2 = uint8(32); >>whos d1 d2 Name Size Bytes Class d1 1x1 8 double array d2 1x1 1 uint8 array p 26(29) Staffan Romberger, CSC, KTH, 2012-08-27

Eval Uttryck kan lagras som text. En aritmetisk följd med n element: a, a+s, a+2*s,, a+(n 1)*s kan vi summera med (a = 1, s = 1) >>f = 1:99; summa = sum(f) summa = 4950 Summan är ju (a+a+(n-1)*s)*n/2 så vi lagrar uttrycket som text i variabeln str: >>str = '(2*a+(n-1)*s)*n/2'; >>a = 1; s = 1; n = 99; >>eval(str) ans = 4950 p 27(29) Staffan Romberger, CSC, KTH, 2012-08-27

Polynom Matlab lagrar polynom som en koefficientvektor med högstagradskoefficienten först. Med p(x) = x 4 +5x 3 2x 2 +7x 11 kan vi beräkna: >>p = [1 5-2 7-11]; polyval(p,1) ans = 0 >>val = polyval(p,[2 3 5 7 9]) val = 51 208 1224 4056 10096 Det finns många andra funktioner för att skapa speciella tabeller. p 28(29) Staffan Romberger, CSC, KTH, 2012-08-27

Resten av kursen Programmeringsdelen med 3 laborationer. Villkorssatser, slingor, egna funktioner, diagram och grafiskt användargränssnitt ska vi behandla. Numerikdelen sköter Beatrice. Den handlar om metoder för att lösa ingenjörens beräkningsproblem. Kursen avslutas med ett projekt som ger möjlighet att fördjupa delarna i kombination och få betygshöjning. Titta ofta på kursens webbplats. Övning 1 Ö1: 2.1, 2.6, 2.10, 2.16 (2.14) p 29(29) Staffan Romberger, CSC, KTH, 2012-08-27