KPP053, HT2015 MATLAB, Föreläsning 4

Slides:



Advertisements
Liknande presentationer
Visual Basic - Genomgång
Advertisements

Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Programstruktur: C för enchipsdatorer
Funktioner och programorganisation
2D1311 Programmeringsteknik med PBL
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
1 Ingenjörsmetodik IT & ME 2009 Föreläsare Dr. Gunnar Malm.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Föreläsning 12 Matlab J-uppgiften.
Grundläggande programmering
Föreläsning 2 Datalogi för E1 2D1343
Flödeskontroll Satser i ett program utförs en och en efter varandra. Detta kallas sekvensiell flödeskontroll. Ofta är det dock nödvändigt att modifiera.
Programmering B PHP Lektion 2
Programmering B PHP Lektion 5 och 6
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Tentamensdags och lab 3…. Större program delas normalt upp i flera filer/moduler vilket har flera fördelar:  Programmets logiska struktur när man klumpar.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Pekare och speciell programstruktur i inbyggda system
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Grundläggande programmering
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Modulär programutveckling
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
Namnrum, räckvidd och rekursion Linda Mannila
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Problemlösningsmetodik
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
Reflektioner kring OU1 Generellt sett bra kvalitet på dokumentationen! Första intryck... –Skulle du lämna in en jobbansökan med ett häftstift/gem eller.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Anders Sjögren Selektion i C ”vägval” if och switch - satserna.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
1 Ingenjörsmetodik IT & ME 2007 Föreläsare Dr. Gunnar Malm.
Föreläsning 16 Logik med tillämpningar Innehåll u Information kring kursvärdering och tentagenomgång u Genomgång av övningstenta 2.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
1 Matlab, föreläsning 1 Oktober MATLAB Perspektiv på materialdesign Lina Kjellqvist Rum: K324 Telefon:
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
1 Föreläsning 13 programmeringsteknik och Matlab Funktioner, styrstrukturer, mer om matriser.
Selektion jämförande och logiska operatorer
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Algoritmer och loopar Algoritmer, beräkningsbarhet
Anders Sjögren Programmering i ANSI-C Ett första program för att se vart vi ska...
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
Anders Sjögren Funktioner något in och något annat ut.
Föreläsning 3: Booleans, if, switch
Föreläsning 8: Exempel och problemlösning
Iteration – Repetitionssats - while
Validera hjärtstartare i Sveriges Hjärtstartarregister
Presentationens avskrift:

KPP053, HT2015 MATLAB, Föreläsning 4 Logiska uttryck if-satser switch-satser while-loopar for-loopar Funktionsfiler

Logiska uttryck Formulerar en likhet eller en olikhet som ett påstående. Ger 1 om uttrycket är sant, ger 0 om det är falskt >> 4 < 5 % 4 ”är mindre än” 5 ans = 1 >> 4 == 5 % 4 ”är lika med” 5 ans = % ”lika med” skrivs ’==’ för att 0 % skilja det från en tilldelningssats

Kombinera logiska uttryck ~ framför ett utryck gör sant till falskt, och vice versa. & mellan två logiska utryck ger 1 om båda är sanna. | mellan två logiska uttryck ger 1 om något av dem är sant. >> ~(3==4) ans = 1 >> 4==4 & 3==4 >> 4==4 | 3==4

Sammanställning av logiska uttryck Betydelse x == y x lika med y x ~= y x skiljt från y x < y x mindre än y x > y x större än y x <= y x mindre än eller lika med y x >= y x större än eller lika med y any(x) något element i x skiljt från noll all(x) alla element i x skilda från noll Uttryck Betydelse a & b Om både a och b är sant a | b Om a eller b är sant ~a Om a inte är sant

if Kör kod enbart då ett givet logiskt villkor uppfylls. if n == 0 disp(’n is zero’) end

if … else Utför en av två olika instruktioner if n == 0 disp(’n is zero’) else disp(’n is nonzero’) end

if … elseif … else Används för att växla mellan flera olika fall. if n == 0 disp(’n = 0’) elseif n == 1 disp(’n = 1’) else disp(’other value’) end

switch Används för att växla mellan flera olika fall. switch n case 0 disp(’n = 0’) case 1 disp(’n = 1’) otherwise disp(’other value’) end

while Utför samma sak om och om igen så länge ett givet villkor fortfarande uppfylls. a = 0 i = 1 while i <= 10 a = a+i; i = i+1; end

for Utför samma sak för alla värden i en vektor a = 0 for i = 1:10 a = a+i; end

break Avbryter en loop direkt

pause Stoppar programmet tills valfri tangent trycks ned.

Funktionsfiler Kan innehålla mer avancerad kod än en anonym funktion Måste börja med nyckelordet funktion Exempel: function [output] = funktionsnamn(input) output = input; %Den här funktionen ger %tillbaks samma värde som %den får.

Funktionsfiler En funktionsfil kan innehålla flera olika funktioner, men då kan enbart den första funktionen anropas från andra program. En variabel i en funktion kan ha samma namn som en variabel som definierats i komando-fönstret utan att dessa två blandas ihop. Alla variabler i en funktion raderas automatiskt när funktionen kört färdigt.

Särskilda funktioner i funktionsfiler nargin %talar om hur många ingående parametrar funktion %fick när den anropades nargout %talar om hur många utparametrar %som förväntades vid anropet varargin %kan anges i stället för namn på ingående parametrar %för att lagra alla ingående parametrar %(oavsett antal) i cellvektorn varargin varargout %som ovan fast för utgånde variabler return %avslutar funktionen direkt. om utparametrarna har %tilldelats ett värde skickas detta som svarpå anropet.

Exempel Skapa en funktion som tar en matris som input, och sedan söker igenom den efter det första negativa element i varje rad. Finns i boken på s. 153 (men med en lite annan lösning).

Felsökning Ofta kan man lösa problem bara genom att provköra ett skript eller en funktion, och läsa eventuella felmedelanden eller varningar. Om man ändå inte lyckas fastslå var felet uppstår kan det vara hjälpligt att kunna stoppa programmet på en given platts för att t.ex. kunna kontrollera vilket värde en given variabel har för tillfället. När det kommer till felsökning är skillnaden mellan MATLAB och FreeMAT ganska stor.

Felsökning, MATLAB Vänsterklicka till höger om radnumret för att lägga till en breakpoint

Felsökning, MATLAB Testkör programmet Om det rör sig om en funktion kan man lägga till ingående argument.

Felsökning, MATLAB Fortsätt steg för steg (eller till nästa brytpunkt med ”continue”)