Frage von DepravedGirl, 85

Wie gebe ich das bei WolframAlpha richtig ein?

Ich habe ein Problem bei WolframAlpha.

http://goo.gl/KObxYo

Welchem Fehler habe ich da gemacht, wie gebe ich das richtig ein ?

Falls ich mich manuell nicht verrechnet habe, dann sollte dort ungefähr 8302,95 herauskommen.

WolframAlpah zeigt als Ergebnis jedoch = 0 an, was nicht stimmen kann, was läuft da falsch ??

Wie muss ich meine Eingabe ändern, damit es klappt ?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von hypergerd, Community-Experte für Mathematik, 36

Bei diesem Beispiel ist die Reihenfolge unproblematisch: einfach

sum (300 * (1+3/100) ^ k) ,k=1...20

Bei rekursiven Funktionen mit nichtlinearem Anteil ist die Reihenfolge aber wichtig, und da sollte man sich schon daran gewöhnen, die Laufvariable 

(beim Iterationsrechner Index i; wichtig ab i=0, da Anzeige mit Zeile 0)

immer vorwärts mit Schrittweite (STEP) 1

und die gewünschte Schrittweite und Richtung als Formel mit in die Gesamtformel:

sum (300 * (1+3/100) ^(21-k)) ,k=1...20

Ein Variablenfeld (Array) beginnt normalerweise immer bei 0, also:

sum (300 * (1+3/100) ^(20-k)) ,k=0...19

und so kann man Summen, Produkte, Iterationen auch besser 

- vergleichen

- verbinden 

- konvertieren (z.B. in Integrale)

Selbst beim superschnellen PureBasic (echter 64 Bit Compiler) beginnen die Arrays bei 0 analog zu allen schnellen Sprachen.

Warum bei WolframAlpha & Iterationsrechner 0 herauskommt:

weil Abbruchbedingung schon erfüllt

until Laufvariable >=EndeKonstante

Kommentar von DepravedGirl ,

Recht herzlichen Dank für deine ausführliche Antwort !

Und das rafft WolframAlpha sogar ;-)) !

Expertenantwort
von Willy1729, Community-Experte für Mathe & Mathematik, 50

Hallo,

Du hast die größere Zahl für k vor der kleineren genannt. Du mußt das Ganze für k=1 bis 20 eingeben, nicht von 20 bis 1.

Wenn Du die Aufgabe mit den Zinsen beantworten möchtest, gehe ich davon aus, daß sich der Zinssatz auf ein ganzes Jahr, nicht auf einen Monat bezieht. Dann müßte die Summe lauten: k=1 bis 20 für 300*1,0025^k.

Herzliche Grüße,

Willy


Kommentar von DepravedGirl ,

Recht herzlichen Dank für deine Antwort Willy !

Genau das hatte ich ursprünglich vor, aber ich werde diese Frage jetzt nicht mehr beantworten.

Ist es verboten Summen von einer größeren Zahl zu einer niedrigen Zahl laufen zu lassen ?

Kommentar von Willy1729 ,

Ja, das geht nicht. Wenn Du das bei einem Taschenrechner versuchst, bekommst Du eine Fehlermeldung. Der Index läuft immer von der kleineren bis zur größeren Zahl. Für die Rechnung macht es wegen des Kommutativgesetzes ohnehin keinen Unterschied, ob Du mit den höheren oder mit den niedrigeren Summanden beginnst.

Liebe Grüße,

Willy

Kommentar von DepravedGirl ,

Vielen Dank für deine Info !

Ich bin wohl zu viele Programmiersprachen gewöhnt, wo dies möglich ist.

Ich wusste nicht, dass dies mathematisch gesehen pfui ist ;-))

Expertenantwort
von PWolff, Community-Experte für Mathe & Mathematik, 39

sum 300 * 1 3/100 ^ k with k from 20 down to 1

liefert ein anderes Ergebnis.

Wenn du dir das Summenzeichen bei der Eingabeinterpretation ansiehst, siehst du, dass dort unten k=20 und oben k=1 steht.

Offensichtlich interpretiert WolframAlphas Mathematica das wie eine Schleife beim Programmieren, wenn es aus dem Web kommt. Und da für k = 20 k schon größer als 1 ist, wird die Summe sofort verlassen.

(Ich würde ja erwarten, dass

sum for k from 20 to 1 of ...

dasselbe ergibt wie

-sum for k from 2 to 19 of ...

 - dies gibt die konsistentesten Ergebnisse für Summen von Summen.)

Ich hab die Summengrenzen mal an den Anfang gestellt und vertauscht:

sum for k from 1 to 20 of ...

 Von welchem Ausdruck du nun die Summe berechnen willst, musst du selbst wissen und die Klammern entsprechend setzen.

Kommentar von DepravedGirl ,

Recht herzlichen Dank für deine Antwort !

Antwort
von poseidon42, 44

Von 20 bis 1? Kein Wunder, dass dort die 0 rauskommt. Du müsstest schon sagen von 1 bis 20.

http://www.wolframalpha.com/input/?i=sum+(300+*+(1%2B3%2F100)+%5E+k)+with+k+from+1+to+20

Kommentar von DepravedGirl ,

Vielen Dank für deine Antwort !

Ist es nicht erlaubt Summen von einer größeren Zahl zu einer niedrigeren laufen zu lassen ?, und falls es erlaubt ist, wie sage ich es WolframAlpha dann ?

Kommentar von poseidon42 ,

Es geht einfach nicht, bzw ist nicht zulässig. Du erhöhst ja in dem jedem Schritt die Zählvariable um 1, daher würde im es im Falle, dass deine "Abbruchbedingung" kleiner ist als dein "Startwert", nie zu dem Fall kommen, dass deine Zählvariable die Abbruchbedingung erfüllt. Das Summensymbol stehts ja symbolisch für folgende Handlung:

"Addiere solange den Ausdruck innerhalb der Summe, bei jedem Schritt mit um +1 erhöhter Zählvariable, solange wie gilt k <= Abbruchbedingung."

Damit ist im Falle Startwert > Abbruchbedingung die Bedingung zum Abbruch stets erfüllt und damit addierst du erst gar nicht und erhälst dadurch die 0.

Kommentar von DepravedGirl ,

Vielen Dank für deine Infos !

Keine passende Antwort gefunden?

Fragen Sie die Community