Product: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Spobel (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Vorlage:Warnung|Warnung=Diese Seite beinhaltet eine Evaluator-Funktion des JACK3-Systems.}} ==Zugehörige Evaluatoren== *'''MathEvaluator''' ===Beschreibun…“) |
|||
(10 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
===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''' - | * '''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 | '''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( | '''JACK3:''' | ||
product(integerInterval(0,10), lambda(x+1, x)) --> returns \(39.916.800\) | |||
[[Kategorie:Math-Evaluatorfunktion]] | 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=== | |||
{|class="wikitable" | |||
|- | |||
|style="border: hidden;"| [input=produkt] := ||style="border: hidden;"| \(\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. | |||
[[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
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.