Zyklen: break und continue

Ähnliche Dokumente
10:Exkurs MATLAB / Octave

4.2 Selbstdefinierte Matlab-Funktionen 1. Teil

Termin 4: Programmieren in MATLAB

Tutorium für Fortgeschrittene

Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

Anwendungssoftware III (MATLAB)

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Grundlagen der Programmierung

Datei-Verarbeitung. Peter Sobe 60

Grundlagen der Programmierung

4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Einstieg in die Informatik mit Java

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

MATLAB. 18. Mai 2010 MATLAB. Eine Einführung. Marina Schneider. Inhalt. Allgemeines zu MATLAB und erste Schritte. Vektoren und Matrizen.

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Einführung in MATLAB

2. Programmierung in C

Matlab Einführung Einführung in die Neuroinformatik SS 12. Miriam Schmidt Institut für Neuroinformatik

10 Lesen und Schreiben von Dateien

Matlab Einführung Theorie Neuronaler Netze WS 11/12. Miriam Schmidt Institut für Neuroinformatik

Einstieg in die Informatik mit Java

Programmieren in MATLAB Mehr als nur ein Taschenrechner

3. Anweisungen und Kontrollstrukturen

Übungen Programmieren 1 Felix Rohrer. Übungen

Übung zur Vorlesung Multimedia im Netz

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

RO-Tutorien 3 / 6 / 12

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Die Programmiersprache C99: Zusammenfassung

Entwurf von Algorithmen - Kontrollstrukturen

Informatik Repetitorium SS Volker Jaedicke

Schleifen in C/C++/Java

Steuerung von Programmabläufen. Vorlesung Computergestützte Mathematik zur Linearen Algebra. Lehrstuhl für Angewandte Mathematik Sommersemester 2009

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

Eine Einführung zum numerischen Programmieren mit Matlab

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Informationsverarbeitung im Bauwesen

ModProg 15-16, Vorl. 5

Vorlesung Programmieren

Erwin Grüner

Praktische Mathematik: Lineare und Netzwerk-Optimierung (SS 2015) Praktikumsaufgaben

MatLab Teil 2: weitere Operationen, Dateien und Bildformate

4.Grundsätzliche Programmentwicklungsmethoden

Funktionen in Matlab. Lehrstuhl für Angewandte Mathematik Sommersemester und 29. Mai 2008

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmieren I + II Regeln der Code-Formatierung

Fallunterscheidung: if-statement

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Matlab Übersicht. Matlab steht für MATrix LABoratory, die Fa. The Mathworks wurde 1984 gegründet

1 Konsole öffnen. 2 matlab & und return eingeben. 3 Konsole dauerhaft geöffnet lassen. 1 Menüpunkt File - Exit MATLAB oder. 2 quit (und return) oder

Sin-Funktion vgl. Cos-Funktion

Primitive Datentypen

Einführung in die Java- Programmierung

Programmierung für Mathematik HS12 Übung 3

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

3 Kurzeinführung in Matlab

Lineare Algebra mit dem Statistikprogramm R

Der Datentyp String. Stringvariable und -vergleiche

2. Programmierung in C

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Programmieren in C/C++ und MATLAB

Institut fu r Informatik

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Programmieren mit Python

1 Bedingungen und der Typ bool. Informatik I: Einführung in die Programmierung 5. Bedingungen, bedingte Ausführung und Schleifen. Vergleichsoperatoren

5. Elementare Befehle und Struktogramme

Vektoren. 2.1 Darstellung. Kapitel Subtraktion und Addition

Kurze Einführung in die Programmiersprache C++ und in Root

Windows PowerShell. CmdLets. PipeLine / Filter. Variablen / Operatoren. Schleifen / Prüfmethoden. Funktionen / Skripte. Allgegenwärtige Parameter

Die Programmiersprache C Eine Einführung

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Shell-Programmierung

Programmierkurs Java

Klausur in Programmieren

MATLAB. im Rahmen der Vorlesung Digitale Bildverarbeitung

public class SternchenRechteckGefuellt {

Anwendungssoftware III (MATLAB)

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.

Einstieg in die Informatik mit Java

Matlab Einführung. Tobias Wunner

Dateiname Name(n) und Matrikelnr. des/der Bearbeiter Tel.-Nr. und -Adresse für den Fall, dass die Diskette nicht lesbar ist.

2.5 Programmstrukturen Entscheidung / Alternative

Datenbanksysteme SS 2007

Ihr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:

Multimedia im Netz Wintersemester 2011/12

Kontrollstrukturen. Bedingter Ablauf: if. Bedingter Ablauf: if-else

Programmieren für Wirtschaftswissenschaftler SS 2015

Quadrieren Sie die Zahlen 3, pi, 1 und i mit Hilfe des Operators ^ und ziehen Sie aus den Ergebnissen jeweils die Wurzel.

EXCEL VBA Cheat Sheet

Inhalt. Peter Sobe 63. Felder in C

2 Einfache Rechnungen

Transkript:

Zyklen: break und continue Innerhalb eines Zyklus: break beendet vorzeitig die zyklische Verarbeitung Beispiel: a = [1 2 3 4 5 6 0 1 2]; n = length(a); s=0; nn=0; for i=1:1:n if a(i)==0 break; end s= s + a(i); nn = nn +1; end; mw=s/nn; Wenn 0 gefunden wird, so wird der Zyklus verlassen und die Mittelwertbildung beendet Achtung: Programm würde abstürzen, wenn eine 0 am Anfang des Feldes stehen würde. Peter Sobe 25

Innerhalb eines Zyklus: continue vorzeitiger Übergang zum nächsten Schleifendurchlauf Beispiel: a = [1 2 3 4 5 6 0 1 2]; n = length(a); s=0; nn=0; for i=1:1:n if a(i)==0 continue; end s= s + a(i); nn = nn +1; end; mw=s/nn; Zyklen: break und continue Für alle gefundenen 0-Werte wird der Rest des Zyklusinneren übergangen, d.h die Nullen werden für die Mittelwertbildung ignoriert Achtung: Diese Programm würde abstürzen, wenn ausschließlich Nullen im Feld enthalten sind. Peter Sobe 26

Mehrfachauswahl: if-elseif Alternativen mit mehreren Zweigen (mehr als 2) können mittel if-elsif-else realisiert werden. if Bedingung1 Anw1 elseif Bedingung2 Anw2 else Anw3 end; Beispiel: if alter<10 auswahl= Limonade ; elseif alter<16 auswahl= Cola ; elsif alter<75 auswahl= Bier ; else auswahl= Kamillentee ; end Peter Sobe 27

Mehrfachauswahl: switch-case Alternativen mit mehreren Zweigen (mehr als 2) können auch per switch-case-konstruktion programmiert werden. Das kann u.u. übersichtlicher sein. Beispiel: switch Ausdruck switch note case wert1 case1 Anweisung1; auswahl= sehr gut ; case wert2 case 2 Anweisung2; auswahl= gut ; case 3 otherwise auswahl= befriedigend ; Anweisung3; case 4 end; auswahl= ausreichend ; otherwise auswahl= nicht erfolgreich; end Peter Sobe 28

Ein- und Ausgabe Neben der interaktiven Eingabe der Werte in Kommando-Fenster ist auch eine gezielte Nutzerabfrage durch Skripte und Funktionen möglich. input-funktion zur Eingabeaufforderung wert = input( Bitte Wert eingeben: ); Nach Ausgabe eines Erläuterungstextes wird dem Nutzer die Eingabe erlaubt. Der Typ des eingegebenen Werts hängt von der Eingabe ab und kann ein String, eine einzelne numerische Variable, ein Vektor oder eine Matrix sein. Zum Erzwingen einer String-Eingabe: nachricht = input( Geben Sie hier Ihren Text ein:, s ); Peter Sobe 29

Ein- und Ausgabe fprintf-funktion zur Ausgabe in Kommandofenster Die Funktion fprintf gibt den als ersten Parameter übergebenen String aus. fprintf( einfacher Text ); es erscheint einfacher Text Beispiel: j = input( Jahrsezahl: ); if mod(j,4)==0 && (mod(j,100)~=0 mod(j,400)==0) fprintf( ist ein Schaltjahr \n ); else fprintf( ist kein Schaltjahr \n ); end; Peter Sobe 30

Ein- und Ausgabe Die Funktion fprintf kann darüberhinaus Variablen formatiert ausgeben. Dazu müssen im übergebenen String s.g. Umwandlungsangaben (%s, %f u.ä.) angegeben werden. An deren Stelle werden die Werte der danach als weitere Parameter angegebenen Variablen ausgegeben. z=7; fprintf( Das Doppelte von %f ist %f \n, z, 2*z); es erscheint Das Doppelte von 7 ist 14 Die Reihenfolge der weiteren Parameter gibt die Zuordnung zu den Umwandlungsangaben an. Peter Sobe 31

fprintf - Umwandlungen fprintf dient der formatierten Ausgabe von Texten und Variablen auf der Konsole, oder in eine Datei (wird später behandelt). fprintf(formatstring, Variablen ); Die Umwandlungsangaben in einem fprintf-formatstring beginnen immer mit einem %-Zeichen. Der dann folgende Buchstabe gibt an, wie die Ausgabe erfolgen soll. %s Einsetzen des Variableninhalts als String %d Einsetzen des Variablenwerts als ganze Zahl (ohne Nachkommastellen) %f Einsetzen des Variablenwerts als Fließkommawert %e Fließkommawert im wissenschaftlichen Format %g automatische Auswahl der kompakteren Form aus %f und %e Peter Sobe 32

Beispiel, z.b. als Skript: fprintf - Umwandlungen radiofrequenzen=[ 89.6 95.8 100.6 102.6 ]; for i=1:4 fprintf( Radioprogramm %d: %f MHz \n,i,radiofrequenzen(i)) end Ausgabe: Radioprogramm 1: 89.600000 MHz Radioprogramm 2: 95.800000 MHz Radioprogramm 3: 100.600000 MHz Radioprogramm 4: 102.600000 MHz Peter Sobe 33

fprintf - Umwandlungen Beispiel (auszugsweise) mit Format-/Präzisionsangabe: fprintf( Radioprogramm %d: %.1f MHz \n,i,radiofrequenzen(i)) Ausgabe: Radioprogramm 1: 89.6 MHz Radioprogramm 2: 95.8 MHz Radioprogramm 3: 100.6 MHz Radioprogramm 4: 102.6 MHz fprintf( Radioprogramm %d: %5.1f MHz \n,i,radiofrequenzen(i)) Ausgabe: Radioprogramm 1: 89.6 MHz Radioprogramm 2: 95.8 MHz Radioprogramm 3: 100.6 MHz Radioprogramm 4: 102.6 MHz Peter Sobe 34

Format-/Präzisionsangabe: %vl.pu fprintf - Umwandlungen v Vorzeichen (+,- oder weggelassen) l Länge, d.h. Anzahl Zeichen, die für die Ausgabe reserviert sind p Anzahl Stellen nach dem Dezimalpunkt u Umwandlungsangabe (s,d,f,e,g) Weggelassen werden können: v,l,p dann werden Standardformatierungen benutzt Zur weiteren Formatierung können benutzt werden: \n Zeilenumbruch \t Tabulator Peter Sobe 35

fprintf und disp fprintf-umwandlungen und Formatierungen sind auf einzelne Werte bezogen. Vektoren und Matrizen können per disp()-funktion ausgegeben werden. disp() gibt die angegebene Variable im Kommandofenster aus, ohne jedoch den Variablennamen voranzustellen. Beispiel: v1 = [1 2 3 4 5 6]; fprintf( Vektor v1\n'); disp(v1); m2 = [v1; v1; 0 0 0 0 0 0]; fprintf('matrix m2\n'); disp(m2); Ausgabe: Vektor v1 1 2 3 4 5 6 Matrix m2 1 2 3 4 5 6 1 2 3 4 5 6 0 0 0 0 0 0 Peter Sobe 36

Relations-Operatoren in Matlab Einzelne Werte, Vektoren und Matrizen können verglichen werden. Es entsteht ein logischer Wert (0 oder 1), bzw. ein Vektor logischer Werte, oder eine Matrix logischer Werte. Operator Bedeutung < kleiner als <= kleinergleich > größer als >= größer oder gleich als == gleich ~= Ungleich Achtung: Unterschied gegenüber = Peter Sobe 37

Logische Ausdrücke in Matlab Bisher hatten wir die Operationen AND, OR, NOT innerhalb aussagenlogischer Ausdrücke benutzt. Diese Operation besitzen in Matlab spezielle Symbole: Operation Matlab-Symbol Beispiel AND && if a>0 && a<100 OR if monat==4 monat==6 NOT ~ if ~(a<=0 a>=100 ) Eine weitere logische Operation XOR: entwederaoderb=xor(a,b); % ginge auch anders, und zwar so entwederaoderb=(a && ~B) (~A && B); Peter Sobe 38

Logische Ausdrücke in Matlab Jede Relation und jeder aussagenlogische Ausdruck kann auf skalare Variable (1x1), Vektoren(1xn) oder Matrizen (mxn) angewendet werden. m1 = [1 2 3; 4 5 6; 7 8 9]; m2 = [3 2 1; 5 6 4; 7 9 8]; vgl = m1 < m2; vgl = 1 0 0 1 1 0 0 1 0 m1 = [1 2 3; 4 5 6; 7 8 9]; vgl = m1 < 5; vgl = 1 1 1 1 0 0 0 0 0 Peter Sobe 39

Logische Ausdrücke in Matlab Jede Relation und jeder aussagenlogische Ausdruck kann auf skalare Variable (1x1), Vektoren(1xn) oder Matrizen (mxn) angewendet werden. Geschickte Ausnutzung für die Bildung einer elementweisem absoluten Differenz m1 = [1 2 3; 4 5 6; 7 8 9]; m2 = [3 2 1; 5 6 4; 7 9 8]; m1_kl_m2 = m1 < m2; m3p1 = (m1_kl_m2.* (m2 - m1)); m3p2 = (~m1_kl_m2.* (m1 - m2)); m3 = m3p1 + m3p2; Peter Sobe 40

Nützliche Funktionen Summe über Vektoren V = [0.5 1.2 3.4]; S = sum(v); % summiert die Elemente eines Vektors M = [1 2 3; 4 5 6]; SS = sum(m); % summiert spaltenweise und liefert Vektor der Spaltensummen Minima über Vektoren ( Maxima ähnlich) V = [0.5 1.2 3.4]; mi = min(v); % kleinstes Element des Vektors M = [1 2 3; 4 5 6]; smi = min(m); % spaltenweises Minima Peter Sobe 41

Nützliche Funktionen Arithmetisches Mittel über Vektoren V = [0.5 1.2 3.4]; mw = mean(v); M = [1 2 3; 4 5 6]; smw = mean(m); % mittelt spaltenweise Zum Nachdenken: Wie bildet man eine Summe über alle Elemente einer Matrix? Wie findet man den maximalen, bzw. minimalen Wert in einer Matrix? Wie berechnet man das arithmetische Mittel aller Werte in einer Matrix? Peter Sobe 42