Product: Unterschied zwischen den Versionen

Aus JACK Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion des JACK3-Systems.}}
===Zugehörige Evaluatoren===
 
==Zugehörige Evaluatoren==
*'''MathEvaluator'''
*'''MathEvaluator'''


Zeile 12: Zeile 10:
===Parameter===
===Parameter===
* '''interval''' - das [[IntegerInterval]], welches die Laufvariable der Summe bestimmt
* '''interval''' - das [[IntegerInterval]], welches die Laufvariable der Summe bestimmt
* '''lambda''' - eine Lambda Funktion, welche die Luafvariable als Bindungsvariable und den Ausdruck enthält
* '''lambda''' - die [[LambdaFunktion]], welche die Laufvariable als Bindungsvariable und den Ausdruck enthält


===Return Value===
===Return Value===
Zeile 18: Zeile 16:


===Beispiele===
===Beispiele===
  product(integerInterval(0,10), lambda(x+1, x)) --> Gibt \(\prod_{x=0}^{10} {x+1}\) zurück.
'''JACK2:'''
  product(integerInterval(0,10), lambda(x, x+1))   --> returns \(\prod_{x=0}^{10} {x+1}\)
product(integerInterval(-10,0), lambda(n, n+1+a))  --> returns \(\prod_{n=-10}^{0} {a+n+1}\)


  product(integerInterval(-10,0), lambda(n+1+a, n))
'''JACK3:'''
Gibt \(\prod_{n=-10}^{0} {n+1+a}\) zurück.
product(integerInterval(0,10), lambda(x+1, x))  --> returns \(39.916.800\)
  product(integerInterval(-10,0), lambda(n+1+a, n))   --> returns \(a^{11} - 44\cdot a^{10} + 825 \cdot a^9 - 8580 \cdot a^8 + 53823 \cdot a^7 - 206052 \cdot a^6 + 454355 \cdot a^5 - 449020 \cdot a^4 - 146124 \cdot a^3 + 663696 \cdot a^2 - 362880 \cdot a\)


===Vollständiges Testen einer Produkt-Eingabe===
===Vollständiges Testen einer Produkt-Eingabe===
Zeile 43: Zeile 46:
  [input=produkt]==39916800 --> TRUE
  [input=produkt]==39916800 --> TRUE


[[Kategorie:Math-Evaluatorfunktion]]
===Hinweis===
* Das Pendant [[Sum]] erzeugt das mathematische Summenzeichen.
* Das Produktzeichen kann in Jack2 und Jack3 verwendet werden. Hier muss nur aufgepasst werden, dass die Schreibweise für den Lambda-Ausdruck sich zwischen den Jack-Versionen unterscheidet. Dazu bitte das Beispiel beachten.
 
[[Kategorie:Math-Evaluatorfunktion]][[Kategorie:JACK2]][[Kategorie:JACK3]]

Aktuelle Version vom 22. Mai 2024, 09:30 Uhr

Zugehörige Evaluatoren

  • MathEvaluator

Beschreibung

Die Funktion product erzeugt das math. Produktzeichen.

Syntax

product(IntegerInterval interval, LambdaFunktion lambda)

Parameter

  • interval - das IntegerInterval, welches die Laufvariable der Summe bestimmt
  • lambda - die LambdaFunktion, welche die Laufvariable als Bindungsvariable und den Ausdruck enthält

Return Value

  • Gibt das Produktzeichen zurück

Beispiele

JACK2:
product(integerInterval(0,10), lambda(x, x+1))   --> returns \(\prod_{x=0}^{10} {x+1}\)

product(integerInterval(-10,0), lambda(n, n+1+a))   --> returns \(\prod_{n=-10}^{0} {a+n+1}\)
JACK3:
product(integerInterval(0,10), lambda(x+1, x))   --> returns \(39.916.800\)

product(integerInterval(-10,0), lambda(n+1+a, n))   --> returns \(a^{11} - 44\cdot a^{10} + 825 \cdot a^9 - 8580 \cdot a^8 + 53823 \cdot a^7 - 206052 \cdot a^6 + 454355 \cdot a^5 - 449020 \cdot a^4 - 146124 \cdot a^3 + 663696 \cdot a^2 - 362880 \cdot a\)

Vollständiges Testen einer Produkt-Eingabe

[input=produkt] := \(\prod_{x=0}^{10} {x+1}\)
getParameter(0, [input=produkt]) --> integerInterval(0, 10)
isIntegerInterval( getParameter(0, [input=produkt]) ) --> TRUE
getParameter(0,  getParameter(0, [input=produkt])) --> 0 //startIndex
getParameter(1,  getParameter(0, [input=produkt])) --> 10  //endIndex
getParameter(1, [input=produkt]) --> lambda(x+1, x)
isLambdaFunction(getParameter(1, [input=produkt])) --> TRUE
lambdaHasBindingVars(getParameter(1, [input=produkt]), x) --> TRUE
lambdaExprEqualsExpr(getParameter(1, [input=produkt]), x+1) --> TRUE
approx([input=produkt]) --> 39916800
[input=produkt]==39916800 --> TRUE

Hinweis

  • Das Pendant Sum erzeugt das mathematische Summenzeichen.
  • Das Produktzeichen kann in Jack2 und Jack3 verwendet werden. Hier muss nur aufgepasst werden, dass die Schreibweise für den Lambda-Ausdruck sich zwischen den Jack-Versionen unterscheidet. Dazu bitte das Beispiel beachten.