31 lines
1.2 KiB
Plaintext
31 lines
1.2 KiB
Plaintext
Aufgabe 3
|
|
=========
|
|
|
|
> module Aufgabe3 where
|
|
|
|
> import Data.List
|
|
> import Hui
|
|
|
|
Real world-Andwendung: List Applicative als numerisches Tool
|
|
------------------------------------------------------------
|
|
|
|
|
|
Sie sollen Maxima einer komplizierten Funktion finden. Die Funktion erlaubt keine analytische Berechnung
|
|
der Maxima. Daher sollen Sie im Intervall [-10,10] für alle Parameter x y z w approximativ Maxima suchen.
|
|
|
|
komplizierteFunktion :: Double -> Double -> Double -> Double -> Double
|
|
|
|
Definieren Sie hierfür eine Funktion, die zusätzlich zum berechneten Wert die übergebenen Parameter zurückgibt.
|
|
|
|
> berechnungMitEingabe :: Double -> Double -> Double -> Double -> (Double,(Double,Double,Double,Double))
|
|
> berechnungMitEingabe x y z w = undefined
|
|
|
|
Definieren mithilfe von `berechnungMitEingabe` eine Funktion `nBesteEingaben`, welche die n günstigsten
|
|
Eingabeparameter-Tupel zusammen mit dem möglichst maximalen Ergebnis zurückgibt.
|
|
|
|
> nBesteEingaben :: Int -> Double -> [(Double,(Double,Double,Double,Double))]
|
|
> nBesteEingaben n d = undefined --Beginne mit: take n $ sortOn (undefined) $ undefined
|
|
> where range = [(-10),(-(10-d))..10]
|
|
|
|
> result = show $ nBesteEingaben 10 1
|