www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

Daten merken
Auto-Login
Registrieren
 
Online
niemand
 
Forumsuche
Suche nach:

Logo - DracheHaskell-Forum

ronja1301

Gepostet:
19.05.2017 09:09

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