Difference between revisions of "DifferentiatingFormulas"

From WeBWorK_wiki
Jump to navigation Jump to search
(added historical tag and gave updated problem link)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
{{historical}}
  +
  +
<p style="font-size: 120%;font-weight:bold">This problem has been replaced with [https://openwebwork.github.io/pg-docs/sample-problems/DiffCalc/DifferentiateFunction.html a newer version of this problem]</p>
 
<h2>Differentiating Formulas: PG Code Snippet</h2>
 
<h2>Differentiating Formulas: PG Code Snippet</h2>
   
Line 52: Line 55:
 
$fxa = $fx->eval(x=>"$a");
 
$fxa = $fx->eval(x=>"$a");
 
$fy = $f->D('y');
 
$fy = $f->D('y');
$fxy = $fx->D('y');
+
$fyx = $fy->D('x')->reduce;
 
</pre>
 
</pre>
 
</td>
 
</td>
Line 82: Line 85:
 
\( f_y(x,y) \) = \{ans_rule(20)\}
 
\( f_y(x,y) \) = \{ans_rule(20)\}
 
$PAR
 
$PAR
\( f_{xy} (x,y) \) = \{ans_rule(20)\}
+
\( f_{yx} (x,y) \) = \{ans_rule(20)\}
 
END_TEXT
 
END_TEXT
 
Context()->normalStrings;
 
Context()->normalStrings;
Line 99: Line 102:
 
<td style="background-color:#eeddff;border:black 1px dashed;">
 
<td style="background-color:#eeddff;border:black 1px dashed;">
 
<pre>
 
<pre>
  +
$showPartialCorrectAnswers=1;
  +
 
ANS( $fx ->cmp() );
 
ANS( $fx ->cmp() );
 
ANS( $fxa->cmp() );
 
ANS( $fxa->cmp() );
 
ANS( $fy ->cmp() );
 
ANS( $fy ->cmp() );
ANS( $fxy->cmp() );
+
ANS( $fyx->cmp() );
   
ENDDOCUMENT;
+
ENDDOCUMENT();
 
</pre>
 
</pre>
 
<td style="background-color:#eeccff;padding:7px;">
 
<td style="background-color:#eeccff;padding:7px;">
Line 120: Line 125:
   
 
[[Category:Problem Techniques]]
 
[[Category:Problem Techniques]]
  +
  +
  +
<ul>
  +
<li>[http://webwork.maa.org/wiki/Introduction_to_MathObjects Introduction_to_MathObjects]</li>
  +
</ul>

Latest revision as of 09:20, 28 June 2023

This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

This problem has been replaced with a newer version of this problem

Differentiating Formulas: PG Code Snippet


This PG code shows how to differentiate a MathObjects Formula.

Problem Techniques Index

PG problem file Explanation
DOCUMENT();
loadMacros(
"PGstandard.pl",
"MathObjects.pl",
);
TEXT(beginproblem());

Initialization: In the initialization section, we need to include the macro file MathObjects.pl or be using a parser that loads MathObjects.pl automatically.

Context("Numeric")->variables->add(y=>"Real");

$a = random(2,4,1);
$f = Formula("x*y^2");

$fx  = $f->D('x');
$fxa = $fx->eval(x=>"$a");
$fy  = $f->D('y');
$fyx = $fy->D('x')->reduce;
 

Setup: The Numeric context automatically defines x to be a variable, so we add the variable y to the context. Then, we use the partial differentiation operator D('var_name') to take a partial derivative with respect to that variable. We can use the evaluate feature as expected.

Context()->texStrings;
BEGIN_TEXT
Suppose \( f(x) = $f \).  Then
$PAR
\( \displaystyle \frac{\partial f}{\partial x} \) = \{ans_rule(20)\}
$PAR
\( f_x ($a,y) \) = \{ans_rule(20)\}
$PAR
\( f_y(x,y) \) = \{ans_rule(20)\}
$PAR
\( f_{yx} (x,y) \) = \{ans_rule(20)\}
END_TEXT
Context()->normalStrings;

Main Text: The problem text section of the file is as we'd expect.

$showPartialCorrectAnswers=1;

ANS( $fx ->cmp() );
ANS( $fxa->cmp() );
ANS( $fy ->cmp() );
ANS( $fyx->cmp() );

ENDDOCUMENT();

Answer Evaluation: As is the answer.

Problem Techniques Index