"Quantity" (比較法)
"Quantity" (比較法)
2つの数量を許容範囲に基づいて比較する.
詳細
- "Quantity"比較法は,2つの数量の違いが指定された許容範囲を超えない場合に,両者が等しいとみなす.
- 指定された数量はすべて互換単位でなければならない.
- 許容範囲は解答集と互換の任意のQuantityとして表されなければならず,AssessmentFunctionのToleranceオプションを使って設定されなければならない.
- デフォルトの許容範囲は0である.
- デフォルトで,解答集と答の比較は絶対差として計算される.DistanceFunctionオプションを使ってカスタムの距離測度が指定できる.
- 解答集の複数の値が答の許容範囲内のときは,最も近い値が選択される.
例題
すべて開く すべて閉じる例 (2)
距離数量のための許容範囲があるAssessmentFunctionを作成する:
distaf = AssessmentFunction[Quantity[10, "Yards"], "Quantity", Tolerance -> Quantity[1, "Feet"]]distaf[Quantity[10.33, "Yards"]]distaf[Quantity[10, "Yards"] + Quantity[11.999, "Inches"]]distaf[Quantity[9, "Meters"]]10%の誤差を許容範囲として,地球から太陽までの距離を評価する:
sundistcheck = AssessmentFunction[{Entity["Star", "Sun"][EntityProperty["Star", "DistanceFromEarth"]]}, Tolerance -> Quantity[0.1, "AstronomicalUnit"]]sundistcheck[Quantity[1.4*^8, "Kilometers"]]sundistcheck[Quantity[1, "SpeedOfLight"] * Quantity[8, "Minutes"]]スコープ (1)
buildingheights = EntityValue[EntityClass["Building", {EntityProperty["Building", "EntityClasses"] -> EntityClass["Building", "Skyscraper"], EntityProperty["Building", "Height"] -> TakeLargest[5]}], EntityProperty["Building", "Height"]]testheights = AssessmentFunction[Thread[buildingheights -> Reverse@Range[5]], "Quantity", Tolerance -> Quantity[50, "Meters"]]Information[testheights, "Key"]答を評価して点数を直接取り出す.点数は許容範囲内の最も近い解答集の値に対応する:
testheights[Quantity[610, "Meters"]]["Score"]アプリケーション (1)
水素スペクトルの波長を取得し,オングストローム内の値を結合する:
hydrogenvisiblespectra = Union@Round[Select[EntityClass["AtomicLine", {"Hydrogen", 1}]["Wavelength"], Quantity[4000, "Angstroms"] < # < Quantity[7000, "Angstroms"]&], 1]スペクトル線図を読むためのQuestionObjectを作成する:
QuestionObject[QuestionInterface["MultipleShortAnswers", <|"Prompt" -> Column[{"What are Hydrogen spectra wavelengths in the visible region ?", WolframAlpha["Hydrogen spectra", {{"Result", 2}, "Image"}]}], "Interpreter" -> Restricted["StructuredQuantity", "Angstrom"]|>], AssessmentFunction[ hydrogenvisiblespectra -> 1, <|"ListAssessment" -> "AllElementsOrderless"|>, Tolerance -> Quantity[50, "Angstroms"]]]特性と関係 (2)
解答集のすべての値がQuantity式の場合は,"Quantity"比較法が自動的に推測される:
AssessmentFunction[{Quantity[10, "Meters"], Quantity[2, "Miles"]}]それ以外の場合は,後退"Expression"比較法が推測される:
AssessmentFunction[{Quantity[10, "Meters"], 2}]"Quantity"比較は常に自動単位変換を行う:
AssessmentFunction[{Quantity[1, "Days"]}, "Quantity"][Quantity[24, "Hours"]]単位変換を阻止して答が解答集と厳密に一致することを要求したければ,"Number"や"Expression"のようなメソッドを使うとよいだろう:
AssessmentFunction[{Quantity[1, "Days"]}, "Expression"][Quantity[24, "Hours"]]AssessmentFunction[{Quantity[1, "Days"]}, "Expression"][Quantity[1, "Days"]]AssessmentFunction[{1}, "Number"][24]考えられる問題 (1)
zerotolerance = AssessmentFunction[Quantity[2, "Days"], "Quantity"]zerotolerance[Quantity[2 * 24 * 60, "Minutes"]]小さい偏差がある場合は,それが機械精度を超える場合は不正解とみなされる:
zerotolerance[Quantity[2 * 24 * 60, "Minutes"] + Quantity[1, "Nanoseconds"]]zerotolerance[Quantity[2 * 24 * 60, "Minutes"] + Quantity[1, "Picoseconds"]]関連項目
AssessmentFunction QuestionObject Quantity UnitConvert
質問インターフェースタイプ: ShortAnswer MultipleShortAnswers
比較法: Number Date GeoPosition
関連するガイド
-
▪
- 質問と評価