"PolynomialResult" (比較法)
"PolynomialResult" (比較法)
多項式の問題に適した方法で数式を比較する.因数の並べ替えは許容されるが,その他の計算は許容されない.
詳細
- 多項式比較法は,2つの多項式が等しくかつ同じ項に因数分解されている場合にのみ,この2つの多項式が等しいとみなす.展開された形は因数分解された形と等しいとはみなされない.
- 解答集と答の値はどちらも,厳密に与えられた値を保持するためにホールドされた式 Hold[expr]として指定できる.たとえ値がホールドされていても,評価中に等価性を決定するために変換の並べ替えは行われるが,計算は許されない.
- "PolynomialResult"の解答集における値はパターンで,Blank式をサポートする.
- デフォルトで,項の順序が違ったり負の符号や数値係数の順序が異なっていても答は正解であるとみなされる.
- "DistributedCoefficients"の設定は,数値係数だけが異なる多項式を同等とみなすかどうかを決定する.例えば,デフォルトで
と
は等価であるとみなされる. - AssessmentFunction[key,<|"ComparisonMethod""PolynomialResult","DistributedCoefficients"setting|>], では,setting に対して次の値がサポートされている.
-
All (デフォルト) 数値的に等しい任意の係数は正解とマークされる "Sign" –1の同等な配置は正解とマークされる None 係数と符号は解答集と厳密に一致しなければならない - 次の表は,一般的な解答集の解と提出された可能性のあるいくつかの解答について,"PolynomialResult"と他の比較方法との比較を示している.
例題
すべて開く すべて閉じる例 (1)
多項式の問題についてのAssessmentFunctionを作成する:
af = AssessmentFunction[(x + 1)(x - 1), "PolynomialResult"]af[(x - 1)(1 + x)]af[-1 + x^2]スコープ (6)
「Expand the polynomial (x+y)^2(x-y)^2」という問題に対する評価関数を作成する:
af = AssessmentFunction[Expand[(x + y) ^ 2(x - y) ^ 2], "PolynomialResult"]af[Hold[Expand[(x + y) ^ 2(x - y) ^ 2]]]af[Hold[x^4 - 2 x^2 y^2 + y^4]]af[Hold[x^4 + y^4 - 2 x^2 y^2]]af[Hold[y^4 - 2 y^2 x^2 + x^4]]AssessmentFunction[x + 1, "PolynomialResult"][Hold[x + 2 - 1]]AssessmentFunction[Hold[(x - 1) ^ 3], "PolynomialResult"][Hold[-(1 - x) ^ 3]]Associationを使って比較方法を指定する:
AssessmentFunction[(x + 1)(x - 1), <|"ComparisonMethod" -> "PolynomialResult"|>]AssessmentFunction[Hold[3(x + 1)(x - 1)], <|"ComparisonMethod" -> "PolynomialResult"|>][Hold[(3x + 3)(x - 1)]]asmf = AssessmentFunction[Hold[3(x + 1)(x - 1)], <|"ComparisonMethod" -> "PolynomialResult", "DistributedCoefficients" -> None|>]asmf[Hold[(3x + 3)(x - 1)]]因数分解された形は,項の順序にかかわらず,正解とマークされる:
asmf[Hold[(x - 1)3(x + 1)]]asmf = AssessmentFunction[{Hold[4(-x - 1)(x + 2)]}, <|"ComparisonMethod" -> "PolynomialResult", "DistributedCoefficients" -> "Sign"|>]asmf[Hold[4(x + 1)(-x - 2)]]asmf[Hold[-4(x + 1)(x + 2)]]asmf[Hold[(4x + 4)(-x - 2)]]一般化と拡張 (1)
多項式のQuestionObjectを作成する:
QuestionObject[
StringForm["Factor the polynomial `1`", HoldForm[1 + 2x + x ^ 2]],
AssessmentFunction[Hold[(1 + x)^2], "PolynomialResult"]
]QuestionObject[
StringForm["Factor the polynomial `1`", HoldForm[1 + 2x + x ^ 2]],
AssessmentFunction[Hold[(1 + x)^2], "PolynomialResult"]
]アプリケーション (1)
評価関数に複数のパターンを含める.正しい係数ごとにより多くの点を付与する:
partialcredit = AssessmentFunction[{
2 * (x + 3) ^ 2 + 7 -> 10,
2 * (x + 3) ^ 2 + _ -> 2,
2 * (x + _) ^ 2 + _ -> 1}, "PolynomialResult"]partialcredit[2 * (x + 3) ^ 2 + 7]["Score"]partialcredit[2 * (x + 3) ^ 2 + 5]["Score"]partialcredit[2 * (x + 4) ^ 2 + 7]["Score"]partialcredit[2 * (x + 3) ^ 3 + 7]["Score"]特性と関係 (6)
AssessmentFunction[{Hold[10x]}, "PolynomialResult"][Hold[Echo[5x + 5x]]]x = 0;
AssessmentFunction[{Hold[10x]}, "PolynomialResult"][Hold[0]]2つの多項式が等しくはあるが因数分解の仕方が異なっている場合,"PolynomialResult"比較法は正しくない答を与える:
AssessmentFunction[{Hold[(x - 1)(x + 1)]}, "PolynomialResult"][Hold[(x ^ 2 - 1)]]"CalculusResult"比較法は正しい評価を与える:
AssessmentFunction[{Hold[(x - 1)(x + 1)]}, "CalculusResult"][Hold[(x ^ 2 - 1)]]asmf = AssessmentFunction[Hold[(2x - 1)(x + 1)], "PolynomialResult"]asmf[Hold[2(x - 1 / 2)(x + 1)]]asmf[Hold[(x - 1 / 2)(2x + 2)]]polypattern = 2 * (x + _) ^ 2 + _このパターンを使ってAssessmentFunctionを作成する:
patternassess = AssessmentFunction[polypattern, "PolynomialResult"]patternassess[2 * (x + 3) ^ 2 + 7]patternassess[2 * (x + 8) ^ 2 + 11]Blank[]パターンを係数に使う.これらの係数の値,符号,単一の定数係数が違っていても正解である:
AssessmentFunction[(5x + a_)(1 + b_), "PolynomialResult"][-5(x + 100)(-1 + y)]AssessmentFunction[(5x + a_)(1 + b_), "PolynomialResult"][Expand[-5(x + 100)(-1 + y)]]関連するガイド
-
▪
- 質問と評価