Gepostet: |
Symbolisches Differenzieren | ||||||||||
Hallo zusammen, für die Uni soll ich symbolisches Differenzieren in Haskell programmieren. Dies ist die Aufgabe: a) Schreiben Sie einen Datentyp Term der (gebrochen)rationale Funktionen in einer Variablen repräsentiert. Hinweis: Sie benötigen jeweils einen Konstruktor für Monome, Addition, Multiplikation und Division. b) Programmieren Sie eine Funktion diff: Term -> Term, welche die erste Ableitung bestimmt. Hinweis: Sie benötigen für jeden Konstruktor des Typs Term eine Gleichung für die Funktion diff. Bis jetzt haben wir die Ableitung von Monomen und Additionen geschafft: data Term = Monom(Int, Int) | Addition[Term] | Multiplikation(Term, Term) deriving Show; mapToZero [] = [] mapToZero (x : xs) = diff(x) : mapToZero xs diff :: Term -> Term diff (Monom(a,b)) = if b>0 then Monom(a*b, b-1) else Monom(0,0) diff (Addition xs) = Addition (mapToZero xs) Könnt ihr mir für Multiplikation und Division weiterhelfen? Danke!!! |
|||||||||||
Zum Seitenanfang | |||||||||||