Bei einem Experiment werden Energieschwankungen im 10ms Abstand gemessen und in eine Datei geschrieben.
Format:
also (negative/positive) Zahlen, jeweils eine pro Zeile.
Diese Daten müssen ausgewertet werden - uns (bzw. die Experimentatoren) insteressieren lokale Maxima - also der/die (falls mehrere gleiche vorhanden) Zeitabschnitt(e), während dessen am meisten Energie abgegeben wurde.
Das sind die Stellen, an denen die Summe der Messwerte am höchsten ist.
Bsp:
Messdaten:
-1,-4,5,2,-4,-3,-3,7,-1,-2,2,-8,7,-1,6,-7,-10,-3,-3,-11,-10,-10,5
lokales Maximum: 7,-1,6 => Summe=12
Bsp2:
-4,2,-3,-1,5,-10,2,-5
l.max: 5
Bsp3:
-4,2,-3,-1,5,-10,2,-5,3,-2,4,-1,2,-10
l.Max:
3-2,4,-1,2 -> Summe=6
Hier sind einige Aufgaben dazu (müssen nicht alle erledigt werden
)
1. Schreibe einen kurzen, schönen Code, der aus den übergebenen Werten das lokale Maximum herausfindet und ausgibt.
2.Wenn es N Werte gibt - wieviele Möglichkeiten müssen (abhängig von N) getestet werden?
3.Schreibe eine "echte" Anwendung, die aus einer Datei die Messwerte ausliest und verarbeitet. Hier sollte nicht nur die Zahlenfolge ausgegeben werden, sondern entweder die Position in der Datei (Zeile) oder am besten die zeitliche Position (die Messungen werden im 10ms Abstand vorgenommen). Achtung: es kann durchaus mehrere Maxima geben (wenn die Summe der Werte gleich ist) - dann sollten auch alle ausgegeben werden.
Zum testen des Codes können die Beispiele oben genommen werden,
zum testen der Anwendung siehe Anhänge(jeweils 1000 und 6000 Einträge). Interessant wäre auch die (grobe) Performance - zur Orientierung: Prototype Code in Prolog braucht auf meinem Notebook (1,6 Ghz C2Duo, 1GB Ram, Sicstus 4.04) für messwerte1 ~7 sek, für messwerte2 ~1300 Sek
Format:
Code:
-1
2
-3
Diese Daten müssen ausgewertet werden - uns (bzw. die Experimentatoren) insteressieren lokale Maxima - also der/die (falls mehrere gleiche vorhanden) Zeitabschnitt(e), während dessen am meisten Energie abgegeben wurde.
Das sind die Stellen, an denen die Summe der Messwerte am höchsten ist.
Bsp:
Messdaten:
-1,-4,5,2,-4,-3,-3,7,-1,-2,2,-8,7,-1,6,-7,-10,-3,-3,-11,-10,-10,5
lokales Maximum: 7,-1,6 => Summe=12
Bsp2:
-4,2,-3,-1,5,-10,2,-5
l.max: 5
Bsp3:
-4,2,-3,-1,5,-10,2,-5,3,-2,4,-1,2,-10
l.Max:
3-2,4,-1,2 -> Summe=6
Hier sind einige Aufgaben dazu (müssen nicht alle erledigt werden

1. Schreibe einen kurzen, schönen Code, der aus den übergebenen Werten das lokale Maximum herausfindet und ausgibt.
2.Wenn es N Werte gibt - wieviele Möglichkeiten müssen (abhängig von N) getestet werden?
3.Schreibe eine "echte" Anwendung, die aus einer Datei die Messwerte ausliest und verarbeitet. Hier sollte nicht nur die Zahlenfolge ausgegeben werden, sondern entweder die Position in der Datei (Zeile) oder am besten die zeitliche Position (die Messungen werden im 10ms Abstand vorgenommen). Achtung: es kann durchaus mehrere Maxima geben (wenn die Summe der Werte gleich ist) - dann sollten auch alle ausgegeben werden.
Zum testen des Codes können die Beispiele oben genommen werden,
zum testen der Anwendung siehe Anhänge(jeweils 1000 und 6000 Einträge). Interessant wäre auch die (grobe) Performance - zur Orientierung: Prototype Code in Prolog braucht auf meinem Notebook (1,6 Ghz C2Duo, 1GB Ram, Sicstus 4.04) für messwerte1 ~7 sek, für messwerte2 ~1300 Sek