|
36 | 36 |
|
37 | 37 | Begin["`Private`"]; |
38 | 38 |
|
| 39 | +activeFunctionRules = { |
| 40 | + sin -> Sin, cos -> Cos, tan -> Tan, sec -> Sec, Cosec -> Csc, csc -> Csc, cosec -> Csc, cot -> Cot, |
| 41 | + arcsin -> ArcSin, asin -> ArcSin, arccos -> ArcCos, acos -> ArcCos, arctan -> ArcTan, atan -> ArcTan, |
| 42 | + arcsec -> ArcSec, asec -> ArcSec, ArcCosec -> ArcCsc, arccsc -> ArcCsc, acsc -> ArcCsc, acosec -> ArcCsc, |
| 43 | + arccot -> ArcCot,acot -> ArcCot, |
| 44 | + sinh -> Sinh, cosh -> Cosh, tanh -> Tanh, sech -> Sech, Cosech -> Csch, csch -> Csch, cosech -> Csch, coth -> Coth, |
| 45 | + arcsinh -> ArcSinh, asinh -> ArcSinh, arccosh -> ArcCosh, acosh -> ArcCosh, arctanh -> ArcTanh, atanh -> ArcTanh, |
| 46 | + arcsech -> ArcSech, asech -> ArcSech, |
| 47 | + ArcCsch -> ArcCsch, ArcCosech -> ArcCsch, arccsch->ArcCsch, acsch -> ArcCsch, acosech -> ArcCsch, |
| 48 | + arccoth -> ArcCoth, acoth -> ArcCoth, |
| 49 | + exp -> Exp, log -> Log, ln -> Log, sqrt -> Sqrt, |
| 50 | + pi -> Pi, e -> E, i -> I}; |
| 51 | + |
| 52 | +inertFunctionRules = { |
| 53 | + Sin -> fSin, sin -> fSin, Cos -> fCos,cos->fCos, Tan -> fTan, tan -> fTan, |
| 54 | + Sec -> fSec, sec -> fSec, Csc -> fCsc, Cosec -> fCsc, csc -> fCsc, cosec -> fCsc, Cot -> fCot, cot -> fCot, |
| 55 | + ArcSin -> fArcSin, arcsin -> fArcSin, asin -> fArcSin, ArcCos -> fArcCos, arccos -> fArcCos, acos -> fArcCos, |
| 56 | + ArcTan -> fArcTan, arctan -> fArcTan, atan -> fArcTan, |
| 57 | + ArcSec -> fArcSec, arcsec -> fArcSec, asec -> fArcSec, |
| 58 | + ArcCsc -> fArcCsc, ArcCosec -> fArcCsc, arccsc -> fArcCsc, acsc -> fArcCsc, acosec -> fArcCsc, |
| 59 | + ArcCot -> fArcCot, arccot -> fArcCot, acot -> fArcCot, |
| 60 | + Sinh -> fSinh, sinh -> fSinh, Cosh -> fCosh, cosh -> fCosh, tanh -> fTanh, tanh->fTanh, |
| 61 | + Sech -> fSech, sech -> fSech, Csch -> fCsch, Cosech -> fCsch, csch -> fCsch, cosech -> fCsch, Coth -> fCoth, coth->fCoth, |
| 62 | + ArcSinh -> fArcSinh, arcsinh -> fArcSinh, asinh -> fArcSinh, ArcCosh -> fArcCosh, arccosh -> fArcCosh, acosh -> fArcCosh, |
| 63 | + ArcTanh -> fArcTanh, arctanh -> fArcTanh, atanh -> fArcTanh, |
| 64 | + ArcSech -> fArcSech, arcsech -> fArcSech, asech -> fArcSech, |
| 65 | + ArcCsch -> fArcCsch, ArcCosech -> fArcCsch, arccsch -> fArcCsch, acsch -> fArcCsch, acosech -> fArcCsch, |
| 66 | + ArcCoth -> fArcCoth, arccoth -> fArcCoth, acoth->fArcCoth, |
| 67 | + Exp -> fExp, exp -> fExp, Log -> fLog, log -> fLog, ln -> fLog, |
| 68 | + Sqrt -> fSqrt, sqrt -> fSqrt, |
| 69 | + pi -> Pi, e -> E, i -> I}; |
| 70 | + |
39 | 71 | equalQNumeric[answer_, response_, params_] := Module[{tolerance, error}, |
40 | 72 | Print["Evaluating Equal Numeric"]; |
41 | 73 | tolerance = If[Lookup[params, "tolerance_is_absolute", False], |
|
162 | 194 | has the same structure as a given answer template, given a set of \ |
163 | 195 | named variables.*) |
164 | 196 |
|
165 | | -inertFunctionRules = { |
166 | | - Sin -> fSin, sin -> fSin, Cos -> fCos,cos->fCos, Tan -> fTan, tan -> fTan, |
167 | | - Sec -> fSec, sec -> fSec, Csc -> fCsc, Cosec -> fCsc, csc -> fCsc, cosec -> fCsc, Cot -> fCot, cot -> fCot, |
168 | | - ArcSin -> fArcSin, arcsin -> fArcSin, asin -> fArcSin, ArcCos -> fArcCos, arccos -> fArcCos, acos -> fArcCos, |
169 | | - ArcTan -> fArcTan, arctan -> fArcTan, atan -> fArcTan, |
170 | | - ArcSec -> fArcSec, arcsec -> fArcSec, asec -> fArcSec, |
171 | | - ArcCsc -> fArcCsc, ArcCosec -> fArcCsc, arccsc -> fArcCsc, acsc -> fArcCsc, acosec -> fArcCsc, |
172 | | - ArcCot -> fArcCot, arccot -> fArcCot, acot -> fArcCot, |
173 | | - Sinh -> fSinh, sinh -> fSinh, Cosh -> fCosh, cosh -> fCosh, tanh -> fTanh, tanh->fTanh, |
174 | | - Sech -> fSech, sech -> fSech, Csch -> fCsch, Cosech -> fCsch, csch -> fCsch, cosech -> fCsch, Coth -> fCoth, coth->fCoth, |
175 | | - ArcSinh -> fArcSinh, arcsinh -> fArcSinh, asinh -> fArcSinh, ArcCosh -> fArcCosh, arccosh -> fArcCosh, acosh -> fArcCosh, |
176 | | - ArcTanh -> fArcTanh, arctanh -> fArcTanh, atanh -> fArcTanh, |
177 | | - ArcSech -> fArcSech, arcsech -> fArcSech, asech -> fArcSech, |
178 | | - ArcCsch -> fArcCsch, ArcCosech -> fArcCsch, arccsch -> fArcCsch, acsch -> fArcCsch, acosech -> fArcCsch, |
179 | | - ArcCoth -> fArcCoth, arccoth -> fArcCoth, acoth->fArcCoth, |
180 | | - Exp -> fExp, exp -> fExp, Log -> fLog, log -> fLog, ln -> fLog, |
181 | | - Sqrt -> fSqrt, sqrt -> fSqrt, |
182 | | - pi -> Pi, e -> E, i -> I}; |
183 | | - |
184 | 197 | ComplexSymbolize[a_Integer?Positive]:=Symbol["$sym"<>ToString[a]] |
185 | 198 |
|
186 | 199 | ComplexSymbolize[a_Integer?Negative]:=Symbol["$symmin"<>ToString[-a]] |
|
236 | 249 | (* SemanticAndStructureMatchQ: a function that checks whether a user's response both |
237 | 250 | (a) is the same mathematical object as a given answer,and (b) has the same structure as a given answer template, |
238 | 251 | given a set of named variables. *) |
239 | | - |
240 | | -activeFunctionRules = { |
241 | | - sin -> Sin, cos -> Cos, tan -> Tan, sec -> Sec, Cosec -> Csc, csc -> Csc, cosec -> Csc, cot -> Cot, |
242 | | - arcsin -> ArcSin, asin -> ArcSin, arccos -> ArcCos, acos -> ArcCos, arctan -> ArcTan, atan -> ArcTan, |
243 | | - arcsec -> ArcSec, asec -> ArcSec, ArcCosec -> ArcCsc, arccsc -> ArcCsc, acsc -> ArcCsc, acosec -> ArcCsc, |
244 | | - arccot -> ArcCot,acot -> ArcCot, |
245 | | - sinh -> Sinh, cosh -> Cosh, tanh -> Tanh, sech -> Sech, Cosech -> Csch, csch -> Csch, cosech -> Csch, coth -> Coth, |
246 | | - arcsinh -> ArcSinh, asinh -> ArcSinh, arccosh -> ArcCosh, acosh -> ArcCosh, arctanh -> ArcTanh, atanh -> ArcTanh, |
247 | | - arcsech -> ArcSech, asech -> ArcSech, |
248 | | - ArcCsch -> ArcCsch, ArcCosech -> ArcCsch, arccsch->ArcCsch, acsch -> ArcCsch, acosech -> ArcCsch, |
249 | | - arccoth -> ArcCoth, acoth -> ArcCoth, |
250 | | - exp -> Exp, log -> Log, ln -> Log, sqrt -> Sqrt, |
251 | | - pi -> Pi, e -> E, i -> I}; |
252 | | - |
| 252 | + |
253 | 253 | SemanticMatchQ[answer_,response_,multipleAnswersInterpretation_String] := TrueQ[Simplify[(response-answer)/.activeFunctionRules] == 0] || |
254 | 254 | TrueQ[FullSimplify[(response-answer)/.activeFunctionRules] == 0] |
255 | 255 |
|
|
0 commit comments