Dagens föreläsning (F15)



Relevanta dokument
Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

2B1115 Ingenjörsmetodik (Engineering Fundamentals)

IF1611 Ingenjörsmetodik (Engineering Fundamentals)

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

NpMa3c vt Kravgränser

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Ickelinjära ekvationer

Kravgränser. Provet består av Del B, Del C, Del D samt en muntlig del och ger totalt 63 poäng varav 24 E-, 21 C- och 18 A-poäng.

Variabler och konstanter

Solar cells. 2.0 Inledning. Utrustning som används i detta experiment visas i Fig. 2.1.

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

TMA226 datorlaboration

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Labbrapport svängande skivor

Övningsuppgifter till Originintroduktion

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

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

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Introduktion till MATLAB

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

Laboration 3. Funktioner, vektorer, integraler och felskattning

Laboration 3. Funktioner, vektorer, integraler och felskattning

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

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

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

Sammanfattninga av kursens block inför tentan

Introduktion till Matlab

Algoritmer, datastrukturer och komplexitet

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

TANA17 Matematiska beräkningar med Matlab

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

2 februari 2016 Sida 1 / 23

Övningar till datorintroduktion

Polynomanpassningsprogram

Linjärisering och Newtons metod

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Uppgift 1 (grundläggande konstruktioner)

Tentamen i Grundläggande programmering STS, åk 1 lördag

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

NpMa2b vt Kravgränser

Matematik. Kursprov, vårterminen Bedömningsanvisningar. för samtliga skriftliga provdelar

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

TAIU07 Matematiska beräkningar med Matlab

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

Modul 1: Funktioner, Gränsvärde, Kontinuitet

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

Del I: Digitala verktyg är inte tillåtna. Endast svar krävs. Skriv dina svar direkt i provhäftet.

Modul 1: Funktioner, Gränsvärde, Kontinuitet

Bedömningsanvisningar

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

Vi programmerar Java!

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

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Matriser och Inbyggda funktioner i Matlab

Tentamen i Beräkningsvetenskap I (1TD393)

TANA17 Matematiska beräkningar med Matlab

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 13:e januari klockan

Matematisk Modellering

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

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

Matematik. Kursprov, vårterminen Bedömningsanvisningar. för samtliga skriftliga provdelar

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Planering för kurs C i Matematik

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

2D1210, Numeriska Metoder, GK I för V 2.

Praktisk beräkning av SPICE-parametrar för halvledare

Matematik. Kursprov, vårterminen Bedömningsanvisningar. för samtliga skriftliga provdelar

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

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

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Objektorienterad programmering Föreläsning 2

MMA132: Laboration 2 Matriser i MATLAB

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Kravspecifikation för hårdvaruprojekt i kursen Datorsystemteknik, HT2005. Temperaturvakt med loggningsfunktion

SVÄNGNINGSTIDEN FÖR EN PENDEL

Matriser och Inbyggda funktioner i Matlab

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

f(x + h) f(x) h f(x) f(x h) h

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Precis som var fallet med förra artikeln, Geogebra för de yngre i Nämnaren

Algoritmer, datastrukturer och komplexitet

Np MaB vt 2002 NATIONELLT KURSPROV I MATEMATIK KURS B VÅREN 2002

LABORATION cos (3x 2 ) dx I =

Introduktion till Matlab

TENTAMEN Tillämpad Systemanalys 5hp

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

TAIU07 Matematiska beräkningar med Matlab

Tentamen Datastrukturer (DAT036)

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Transkript:

Dagens föreläsning (F15) Problemlösning med datorer Carl-Mikael Zetterling bellman@kth.se KP2+EKM http://www.ict.kth.se/courses/2b1116/ 1

Innehåll Programmering i Matlab kap 5 EKM Mer om labben bla Deluppgift 2 http://www.ict.kth.se/courses/2b1116/ 2

Delar av ett program Inmatning Beräkningar/beslut Utmatning http://www.ict.kth.se/courses/2b1116/ 3

Program: inmatning a=input( Mata in ett tal : ); a=input( Mata in ett lösenord:, s ); % för textsträngar Vad händer om orimliga värden matas in? Exempel: inmatning av tal 0 (eftersom en division ska utföras) http://www.ict.kth.se/courses/2b1116/ 4

Program: inmatning med if % Exempel: inmatning av tal 0 a = input( Mata in ett tal som inte är noll: ); if a = = 0 a = input( INTE noll sa jag! ); else disp( Bra jobbat! ); svar = 75 / a end http://www.ict.kth.se/courses/2b1116/ 5

Program: inmatning med for % Exempel: inmatning av tal 0 for i = 1 : 100 a = input( Mata in ett tal som inte är noll: ); if a = = 0 disp( INTE noll sa jag! Försök igen. ); else break end end svar = 75 / a http://www.ict.kth.se/courses/2b1116/ 6

Program: inmatning med while % Exempel: inmatning av tal 0 a = 0; while a = = 0 a = input( Mata in ett tal som inte är noll: ); end svar = 75 / a http://www.ict.kth.se/courses/2b1116/ 7

Program: villkorssatser if villkor then A; else B; end for i=1:1:10 a(i)=beräkning; end while villkor i=i+1; end Exempel: F15enkel.m http://www.ict.kth.se/courses/2b1116/ 8

Program: utmatning b=a^2 skrivs automatiskt ut b=a^2; skrivs inte ut med ; på slutet skriv ut inmatningshjälp mm disp( Program för primtalstestning ); disp([ Sträckan blir, num2str(x), m. ]); fprintf( Sträckan blir %f m.\n, x); http://www.ict.kth.se/courses/2b1116/ 9

Program: funktioner Strukturera program Separera variabelnamn Återanvänd kod Samma filnamn som funktionen function a = kvadrat(b); a = b.*b; x = 7; % påverkar ej x utanför funktionen http://www.ict.kth.se/courses/2b1116/ 10

Några tips: Dela upp problemet i mindre bitar Skriv pseudokod eller rita flödesscheman först Använd funktioner Kan återanvändas Kan testas för sig http://www.ict.kth.se/courses/2b1116/ 11

Valutaomvandlingar Gör ett program för att skriva ut valutaomvandlingar, ungefär som www.forex.se Omvandla mellan dollar, euro och kronor Beräkna sälj och köpkurser med procentuell marginal http://www.ict.kth.se/courses/2b1116/ 12

Valutaomvandling, pseudokod: Mata in valutakurser och marginal Räkna ut köp- och säljkurser Skriv ut hjälptext Mata in val av omvandling Mata in belopp att omvandla Skriv ut resultat http://www.ict.kth.se/courses/2b1116/ 13

Valutaomvandling, kurser: Forex 2006-10-04: Euroland EUR köp 9,2146 sälj 9,4560 (medel: 9,3345) Dollar USD köp 7,2045 sälj 7,4295 (medel: 7,316) Köpkursen är lägre, tex 7,316 kronor/dollar / 1,0155 Tänk på enheterna, kronor/dollar resp kronor/euro dollar till euro: gör dollar till kronor, sedan kronor till euro, dvs två omvandlingar i serie: 10 dollar * 7,2 kronor/dollar * 0,11 euro/krona = 7,9 euro http://www.ict.kth.se/courses/2b1116/ 14

Valutaomvandling, dialog: Vill du omvandla 1. kr till dollar 2. dollar till kronor 3. kr till euro 4. euro till kr 5. dollar till euro 6. euro till dollar > 2 Hur mycket? > 100 100 dollar blir 790 kronor http://www.ict.kth.se/courses/2b1116/ 15

Valutaomvandling, program: F15kurser.m används bara för att mata in kurser och marginal; anropas bara om kurserna inte existerar F15valuta.m är huvudprogrammet http://www.ict.kth.se/courses/2b1116/ 16

Repetition och Regelbundna pauser http://www.ict.kth.se/courses/2b1116/ 17

Deluppgifter Deluppgift 1. Enkla uppgifter kort rapport 2. Kurvanpassning språkgranskad rapport 3. Programmering muntlig redovisning Obligatorisk? Nej (gör alla 7) Ja Nej (välj en av 7) Max labbpoäng 1 2,5 2 Ofullständiga uppgifter kan behöva kompletteras. Deluppgifter får poäng i halvpoängssteg upp till angiven maximal labbpoäng. Minst 3 labbpoäng krävs för labbkursen. http://www.ict.kth.se/courses/2b1116/ 18

Betyg och slutbetyg labbpoäng: TEN1(3p): LAB1(2p): 3 4 5 3 3 3 4 4 3 3,5 3 4 4 4 4 3 4 5 4 4,5 4 4 5 5 5 4 4 5 5 5,5 4 5 5 Slutbetyg = round + (( 3* TEN1 2* labbpoäng) / 5) http://www.ict.kth.se/courses/2b1116/ 19

Labbrapport - deadlines Se KP2 för detaljer Senast 4 oktober kl 23.59 ska skiss på rapport del 2 skickas till richard1@kth.se Senast 12 oktober ska del 3 redovisas muntligt på handledningspasset L5 (13-17) Senast 1 november kl 23.59 ska hela labbkursen vara inskickad till richard1@kth.se och bellman@kth.se http://www.ict.kth.se/courses/2b1116/ 20

Deluppgift 1 Uppvärmningsuppgifter Ni får labba ihop, men varsin rapport och inlämning, tala om vem ni labbat med! Enkel rapport Maila rapport + filer till bellman@kth.se Deadline 2006-11-01 http://www.ict.kth.se/courses/2b1116/ 21

Deluppgift 3 Valfri programmeringsuppgift Gör bara en av de sju 3.1 enklast, 3.7 svårast Muntlig redovisning för assistent Senast 2006-10-12 Visa att programmet fungerar, förklara hur det fungerar Om ni är två måste båda kunna svara på frågor om hur programmet fungerar Maila programmet till bellman@kth.se http://www.ict.kth.se/courses/2b1116/ 22

Deluppgift 2, rapportskiss Varsin rapport även om ni labbat tillsammans, skriv vem ni labbat med! Rapport bedöms språkligt av Richard Nordberg, feedback F18, 11/10 Rapportskiss senast 2006-10-04 till richard1@kth.se Alla delar enligt KP2 sid 6 Kurvanpassa två av modellparametrarna: n och I 0 http://www.ict.kth.se/courses/2b1116/ 23

Deluppgift 2, rapportskiss 1. Titelsida 2. Sammanfattning 3. Innehållsförteckning 4. Inledning 5. Problem och syfte 6. Metod och utförande ca 1 200 1 500 ord 7. Resultat 8. Diskussion och slutsatser 9. Eventuella referenser http://www.ict.kth.se/courses/2b1116/ 24

Deluppgift 2, slutrapport Senast 2006-11-01 kl 23.59 Till både richard1@kth.se och bellman@kth.se Alla delar i rapporten efter feedback Alla tre modellparametrar n, I 0 och R krävs för full poäng. Ni får labba ihop, men varsin rapport och inlämning, tala om vem ni labbat med! http://www.ict.kth.se/courses/2b1116/ 25

Deluppgift 2, ekvation i = I 0 e nk q B T ( v i R) 1 Symbol Beskrivning Enhet Status i strömmen genom dioden A uppmätt, finns i filen (kallas IF) v spänningen över dioden V uppmätt, finns i filen (kallas VF) q elementarladdningen C konstant, finns i tabell 2.5 i KP1 k B Boltzmanns konstant J/K konstant, finns i tabell 2.5 i KP1 T absolut temperatur K given, mätningen gjordes vid 300 K I 0 kortslutningsström A modellparameter som ska bestämmas n idealitetsfaktor - modellparameter som ska bestämmas R resistans för dioden Ω modellparameter som ska bestämmas http://www.ict.kth.se/courses/2b1116/ 26

Deluppgift 2, ledningar Läs in mätdata i Matlab. Gör en plot av mätdata i en figur. Välj logaritmisk skala för strömmen i som funktion av spänningen v, då ser man att grafen är linjär i ett delintervall. Modellanpassa först parametrarna n och I0 till det linjära intervallet i grafen. Välj ut en delmängd av mätpunkterna med hjälp av figuren ni gjorde. Anpassa en rät linje till dessa mätdata och avläs lutningen och skärningen med y-axeln. Från detta kan ni räkna fram n respektive I0. NOT: n är normalt mellan 1 och 2. http://www.ict.kth.se/courses/2b1116/ 27

Deluppgift 2, plot(v,i) http://www.ict.kth.se/courses/2b1116/ 28

Deluppgift 2, semilogy(v,i) http://www.ict.kth.se/courses/2b1116/ 29

Deluppgift 2, plot(v,log(i)) Påverkan av R Påverkan av -1 http://www.ict.kth.se/courses/2b1116/ 30

Deluppgift 2, delintervall http://www.ict.kth.se/courses/2b1116/ 31

Deluppgift 2, förenkling i i i = I I I 0 0 0 e e e q nk q nk q nk B B B T v T v T ( v i R) 1 om e 1 om i >> 1 Modellen ovan kan förenklas om man gör en approximation baserat på att exponentialtermen är mycket större än ettan för positiva strömmar. Dessutom kommer termen i. R bara att ha någon inverkan för stora värden på strömmen i. http://www.ict.kth.se/courses/2b1116/ 32 q nk B v T litet

Deluppgift 2, logaritmering i I logi logi 0 e q nk B v T = log I = log I 0 0 om e + log e q + n k T B q nk B v T q nk B v v T >> 1 log i är nu en linjär funktion av v eftersom q, n, k B och T är konstanter (varav n ska bestämmas) http://www.ict.kth.se/courses/2b1116/ 33

Deluppgift 2, kurvanpassning 3 varianter: 1. utför summeringarna (jobbigt) 2. använd polyfit/polyval (logaritmera först) 3. curve fitting toolbox (enklast? men svårdokumenterat) http://www.ict.kth.se/courses/2b1116/ 34

Problemlösning med datorer Motivering: Teknisk problemlösning kräver beräkningar Grafer ett bra sätt att visualisera resultat Dokumentering av hur man löst problemet Möjlighet att återanvända tidigare resultat Kontroll av resultat För IT och ME har vi valt Matlab som verktyg http://www.ict.kth.se/courses/2b1116/ 35