Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Gertrud Fromm Geändert vor über 8 Jahren
1
119.06.2015Übung 11 - MdMT Methoden der Medizintechnik Übung zur Vorlesung knueppel@ovgu.de Folge 11 – Mein erster Scanner While-Schleife und Matrizen By Qurren (Qurren's file) [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY- SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons
2
219.06.2015Übung 11 - MdMT Der Unterschied zu for-Schleife: Sie ist immer dann zu verwenden, wenn man vorher nicht weiß, wie oft die Schleife durchlaufen werden muss. Heute Neu: While-Schleife in MATLAB % Beispiel – Endlosschleife: a = 5; while (a < 10) pause(0.1); end
3
319.06.2015Übung 11 - MdMT Der Unterschied zu for-Schleife: Sie ist immer dann zu verwenden, wenn man vorher nicht weiß, wie oft die Schleife durchlaufen werden muss Heute Neu: While-Schleife in MATLAB % Beispiel – überflüssige Schleife: a = 5; while (a > 10) pause(0.1); end
4
419.06.2015Übung 11 - MdMT Der Unterschied zu for-Schleife: Sie ist immer dann zu verwenden, wenn man vorher nicht weiß, wie oft die Schleife durchlaufen werden muss Heute Neu: While-Schleife in MATLAB % Beispiel – noch eine Endlosschleife: a = true; while (a) pause(0.1); end
5
519.06.2015Übung 11 - MdMT Der Unterschied zu for-Schleife: Sie ist immer dann zu verwenden, wenn man vorher nicht weiß, wie oft die Schleife durchlaufen werden muss Heute Neu: While-Schleife in MATLAB % Zur nächsten Schleifeniteration springen: a = 0; while (a < 10) a = a + 1; if (mod(a,2) == 0) continue % Gehe Zum nächsten Schleifendurchlauf! end disp(a); end
6
619.06.2015Übung 11 - MdMT Der Unterschied zu for-Schleife: Sie ist immer dann zu verwenden, wenn man vorher nicht weiß, wie oft die Schleife durchlaufen werden muss Heute Neu: While-Schleife in MATLAB % Schleife vorzeitig abbrechen: a = 0; while (a < 10) a = a + 3; if (a == 6) break % Springe sofort hinter die Schleife end disp(a); end
7
719.06.2015Übung 11 - MdMT Anwendungsbeispiel: Warten auf einen Tastendruck % Sinnvolle Verwendung: Programm warten lassen auf % Betätigung des Tastsensors – die LEGO-Toolbox hat hierfür % anders als für die Motorbewegung nämlich % keinen Befehl eingebaut! OpenSwitch(SENSOR_1); %... Irgendetwas tun... % Auf den Tast-SENSOR_1 warten while (GetSwitch(SENSOR_1) == false) pause(0.1); end %... Etwas anders tun...
8
819.06.2015Übung 11 - MdMT Neu: Auslesen des Helligkeitssensors % Sensor initialisieren (wie immer nur einmal!) OpenLight(SENSOR_1,'ACTIVE'); % Sensor auslesen (beliebig oft) pause(0.1); helligkeit = GetLight(SENSOR_1); %0 = dunkel %1023 = max. hell % Sensor schließen (am Ende einmal) CloseSensor(SENSOR_1);
9
919.06.2015Übung 11 - MdMT Aufgabe 1 Baue einen „Scanner“ für die gedruckte Vorlage: Man soll den Helligkeitssensor nacheinander auf jedes der 12 Felder halten können; auf Betätigung des Tastsensors wird das jeweilige Feld „eingelesen“. Die 12 Helligkeitswerte sind in einer 1x12-Matrix values zu speichern; von dieser ist ein Plot auszugeben. Aufgabe 2 Wie Aufgabe 1, die Werte sind jedoch in einer 3x4-Matrix (entsprechend den gedruckten Farbfelder) zu speichern. Die Matrix ist dann folgendermaßen als Bild darzustellen (welches dann idealerweise ähnlich der Vorlage aussehen sollte): image(values, 'CDataMapping', 'scaled'); colormap(gray); Aufgaben: Mein 12-Pixel-Graustufen-Scanner
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.