www.jammni.de

Logo - Kleiner Drache
Login
Username:

Passwort:

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

Logo - DracheHaskell-Forum

Luks

Gepostet:
12.11.2009 19:58

Induction  
hey
ich hab mal wieder ne aufgabe, mit der ich nicht klar komme.
ich soll induction nutzen um a) die summe aller dritten potenzen von 1 bis n auszurechnen.
b) die falls m > n, die summe von n bis m berechnet und ansonsten null ausgibt.

die aufgaben an sich bilden (denk ich mal) kein problem, aber ich hab keine ahnung, wie induction funktioniert / arbeitet (hab anscheinend in der vorlesung gepennt^^)

danke schonmal für erklärungen.
Zum Seitenanfang    
 
Siracusa

Gepostet:
12.11.2009 22:03

   
Hallo,

Induktion nutzt man eigentlich um Beweise über unendlich vielen Elementen aufzustellen oder um Mengen mit unendlich vielen Elementen zu beschreiben. Du beweist z.B. für eine Aussage A(n): Gilt A(n) für ein beliebiges n dann gilt sie auch für n+1. Wenn du dann noch beweisen kannst, dass die Aussage auch für einen "Startwert" n0 gilt (meistens 0 oder 1), dann hast du die Aussage für alle natürlichen Zahlen bewiesen, und zwar induktiv.

Bei der Aufgabe berechnest du also f(n), indem du die Berechnung auf f(n-1) zurückführst. Du löst das ganze also eher über Rekursion, falls dir das was sagt. Statt Rekursion wir häufig der Begriff Induktion verwendet, meiner Ansicht nach existiert da aber ein gewisser Unterschied. Dabei ist eine Definition für einen Startwert nicht zu vergessen, sonst endet deine Berechnung nie.


Viele Grüße,

Siracusa
Zum Seitenanfang    
 
Skater203

Gepostet:
14.11.2009 04:03

   
induction :: (Num a, Ord a) => b -> (a -> b -> b) -> a -> b
induction base comb n
| n == 0 = base
| n > 0 = comb n (induction base comb (n-1))

sumCubes n = induction 0 (\ x y -> x^3+ y) n

sumFromTo n m
|m>n = (m-n+1)*n + (induction 0 (\ x y -> x + y) (m-n))
|otherwise = 0
Zum Seitenanfang