4. Übung – Algorithmierung, erste Schritte mit MATLAB und

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