Fakultät Informatik/Mathematik Informatik für allg. Maschinenbau Prof. Dr. Peter Sobe 4. Übung – Algorithmierung, erste Schritte mit MATLAB und Aussagenlogik 1. Schreiben Sie ein Programm als PAP zum Mischen zweier aufsteigend sortierter Zahlenreihen, die vorab in zwei Felder einzulesen sind! Als Ausgabe soll eine sortierte Zahlenreihe entstehen, welche die Werte beider eingegebener Reihen in aufsteigender Sortierung enthält. Beispiel zur Verdeutlichung der Arbeitsweise: Eingabe der Reihe 1 mit 5 Werten: 3.2 7.1 8.4 8.9 10.5 Eingabe der Reihe 2 mit 7 Werten: 0.0 0.0 1.6 4.7 6.9 9.5 11.1 Ausgabe mit 12 Werten: 0.0 0.0 1.6 3.2 4.7 6.9 7.1 8.4 8.9 9.5 10.5 11.1 2. Sie bekommen eine MATLAB-Funktion in fun.m vorgegeben. Diese Funktion berechnet im Sinne einer mathematischen Funktion einen Wert y=f(x). Die Funktion ist im Intervall [0:5] monoton fallend und besitzt dort eine Nullstelle. Unser Ziel ist es, diese Nullstelle möglichst genau zu finden. a) Kopieren Sie sich die Funktion nach EIGENE_DOKUMENTE/MATLAB. Rufen Sie die Funktion im Kommandofenster mit geeigneten x-Werten auf, z.B. y1= fun(0), y2=fun(2.5), y3=fun(4.99). b) Spielen Sie die Nullstellensuche per Intervallhalbierung „per Hand“ nach! Berechnen Sie zuerst den Funktionswert an der Stelle x=2.5 und entscheiden Sie dann, ob das linke oder rechte Teilintervall weiter zu verfolgen ist, usw. c) Plotten Sie die Funktion im Intervall zwischen 0 und 5! Erzeugen sie sich dazu einen Vektor für die Stützstellen wie folgt: x=[0:0.01:5] Plotten Sie die Funktion mit plot(x,fun(x))! d) Suchen Sie die Nullstelle im Plot! Nutzen Sie dabei den s.g. DataCursor! Plotten Sie ggf. wiederholt mit ‚engeren‘ Stützstellen! e) Ihnen wird ein Skript zur automatisierten Suche der Nullstelle vorgeführt! Der Algorithmus entspricht der Lösung 3.2 (3. Übungsblatt). Eine Fortsetzung folgt umseitig. 1 Fakultät Informatik/Mathematik Informatik für allg. Maschinenbau Prof. Dr. Peter Sobe 3. Aussagenlogik: Gehen Sie von Variablen aus, die Sie als vorab initialisiert annehmen können. Dabei sind a,b,x,y,z numerische Variablen für Zahlenwerte. Die Bezeichner zu_warm, zu_kalt und regen sind logische Variablen, die die Werte wahr oder falsch annehmen können. Formen Sie die folgenden aussagenlogischen Ausdrücke so um, dass keine Negation (NOT) in ihnen mehr vorkommt! a) a<b AND ( NOT(a<0) ) AND (NOT (b<0) ) b) NOT ( (NOT ( zu_warm )) AND (NOT (zu_kalt)) ) c) (x>0 AND y=x) OR ( NOT(x<=0) AND NOT(y=x) ) Versuchen Sie, die folgenden aussagenlogischen Ausdrücke zu vereinfachen! d) (zu_warm AND regen) OR (zu_kalt AND regen) e) ( (x>y OR z=5) AND (x<2 OR z=5) ) OR NOT (x>y AND x<2) f) x>0 OR (x>0 AND x<100) 2
© Copyright 2025 ExpyDoc