// Numbas version: exam_results_page_options {"name": "Maximum and Minimum points on a curve", "extensions": ["geogebra", "jsxgraph"], "custom_part_types": [], "resources": [], "navigation": {"allowregen": true, "showfrontpage": false, "preventleave": false, "typeendtoleave": false}, "question_groups": [{"pickingStrategy": "all-ordered", "questions": [{"variable_groups": [{"variables": ["a1", "b1", "c1", "d1", "x1max", "x1min", "y1max", "y1min", "r3"], "name": "Generators"}], "name": "Maximum and Minimum points on a curve", "functions": {"plotgraph": {"definition": "// This functions plots a cubic with coefficients a,b,c,d\n// It creates the board, sets it up, then returns an\n// HTML div tag containing the board.\n\n\n// Max and min x and y values for the axis.\nvar x_min = -6;\nvar x_max = 6;\nvar y_min = -10;\nvar y_max = 10;\n\n\n// First, make the JSXGraph board.\nvar div = Numbas.extensions.jsxgraph.makeBoard(\n '500px',\n '600px',\n {\n boundingBox: [x_min,y_max,x_max,y_min],\n axis: false,\n showNavigation: true,\n grid: true\n }\n);\n\n\n\n\n// div.board is the object created by JSXGraph, which you use to \n// manipulate elements\nvar board = div.board; \n\n// create the x-axis.\nvar xaxis = board.create('line',[[0,0],[1,0]], { strokeColor: 'black', fixed: true});\nvar xticks = board.create('ticks',[xaxis,1],{\n drawLabels: true,\n label: {offset: [-4, -10]},\n minorTicks: 0\n});\n\n// create the y-axis\nvar yaxis = board.create('line',[[0,0],[0,1]], { strokeColor: 'black', fixed: true });\nvar yticks = board.create('ticks',[yaxis,1],{\ndrawLabels: true,\nlabel: {offset: [-20, 0]},\nminorTicks: 0\n});\n\n\n\n\n// Plot the function.\n board.create('functiongraph',\n [function(x){ return a*x*x*x+b*x*x+c*x + d;},x_min,x_max]);\n\n\n\n\nreturn div;", "type": "html", "language": "javascript", "parameters": [["a", "number"], ["b", "number"], ["c", "number"], ["d", "number"]]}}, "metadata": {"description": "

Given a graph of some function $f(x)$ (a cubic), the student is asked to write the coordinates of the maximum and minimum points. The student then finds the maximum and minimum points of a second cubic function without using a graph, by finding the derivative, solving the quadratic equation that results from setting the derivative equal to zero, and finally testing the value of the second derivative.

", "licence": "Creative Commons Attribution 4.0 International"}, "parts": [{"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "steps": [{"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "marks": 0, "prompt": "

Remember that the coordinates of a point are given in the order $(x,y)$.

\n

The local maximum is the 'top of the hill' and the local minimum is the 'bottom of the valley'.

", "type": "information", "variableReplacementStrategy": "originalfirst"}], "marks": 0, "prompt": "

Shown below is the plot of the function $f(x)=\\simplify[all,!noLeadingMinus]{{a}x^3+{b}x^2+{c}x+{d}}$.

\n

{plotgraph(a,b,c,d)}

\n

What are the coordinates of its local maximum point? ([[0]],[[1]])

\n

What are the coordinates of its local minimum point? ([[2]],[[3]])

", "stepsPenalty": 0, "type": "gapfill", "gaps": [{"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "xmax", "marks": "1", "correctAnswerFraction": false, "maxValue": "xmax", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "ymax", "marks": "1", "correctAnswerFraction": false, "maxValue": "ymax", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "xmin", "marks": "1", "correctAnswerFraction": false, "maxValue": "xmin", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "ymin", "marks": "1", "correctAnswerFraction": false, "maxValue": "ymin", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain"]}], "variableReplacementStrategy": "originalfirst"}, {"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "steps": [{"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "marks": 0, "prompt": "

There are parts of the graph where the function is seen to be increasing ('going up', from left to right) and parts where it is decreasing ('going down'). The exact rate at which the function is increasing or decreasing - its rate of change - at any given point is given by the slope of the tangent to the curve at that point. This is also known as the derivative of the function.

\n

To find the derivative, we differentiate. For a function $f(x)$, we call the derivative $\\frac{\\mathrm{d}f}{\\mathrm{d}x}$.

\n

Any time we meet a polynomial (like a quadratic or cubic) function, we can differentiate it piece by piece like this: \\[f(x)=a\\cdot x^n\\rightarrow\\frac{\\mathrm{d}f}{\\mathrm{d}x}=n\\cdot a\\cdot x^{n-1}\\]

\n

", "type": "information", "variableReplacementStrategy": "originalfirst"}], "marks": 0, "prompt": "

Differentiate the function $f(x)=\\simplify[all,!noLeadingMinus]{{a}x^3+{b}x^2+{c}x+{d}}$:

\n

$\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\;$[[0]]$x^2+$[[1]]$x+$[[2]].

\n

(Be careful to enter the negative sign where needed.)

", "stepsPenalty": 0, "type": "gapfill", "gaps": [{"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "3*a", "marks": 1, "correctAnswerFraction": false, "maxValue": "3*a", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "2*b", "marks": 1, "correctAnswerFraction": false, "maxValue": "2*b", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "c", "marks": 1, "correctAnswerFraction": false, "maxValue": "c", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}], "variableReplacementStrategy": "originalfirst"}, {"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "steps": [{"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "marks": 0, "prompt": "

Note that at the turning points, the curve must go between 'going up' and 'going down', which means that the slopes of the tangents lines will go between being positive and being negative. This means the tangents must have a slope of zero at some point - a slope which is neither positive nor negative. And of course, to get the slope of the tangent at any point, we differentiate.

\n

So, we find the derivative $\\frac{\\mathrm{d}f}{\\mathrm{d}x}$ and put it equal to zero.

", "type": "information", "variableReplacementStrategy": "originalfirst"}], "marks": 0, "prompt": "

Now let us find the coordinates of the stationary points (also called turning points, extreme points, or local maximum and local minimum) of a different function using algebra.

\n

We're going to use the function: \\[f(x)=\\simplify[all,!noLeadingMinus]{{a1}x^3+{b1}x^2+{c1}x+{d1}}\\]

\n

To find the turning points, we first differentiate and then set the answer equal to zero:

\n

$f(x)=\\simplify[all,!noLeadingMinus]{{a1}x^3+{b1}x^2+{c1}x+{d1}}$

\n

$\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\;$[[0]]$\\;=0$

", "stepsPenalty": 0, "type": "gapfill", "gaps": [{"variableReplacements": [], "answer": "3*{a1}*x^2+2*{b1}*x+{c1}", "vsetrangepoints": 5, "showCorrectAnswer": true, "showpreview": true, "marks": "3", "checkvariablenames": false, "checkingaccuracy": 0.001, "checkingtype": "absdiff", "variableReplacementStrategy": "originalfirst", "showFeedbackIcon": true, "scripts": {}, "expectedvariablenames": [], "type": "jme", "vsetrange": [0, 1]}], "variableReplacementStrategy": "originalfirst"}, {"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "steps": [{"variableReplacements": [], "showFeedbackIcon": true, "scripts": {}, "showCorrectAnswer": true, "marks": 0, "prompt": "

We should be able to find these points without drawing a graph, but you can of course use Geogebra, Google, WolframAlpha or just pen and paper to plot the graph and verify what it looks like.

\n

Finding the answer to the previous part should leave us with a quadratic equation. (The derivative of a cubic function will be a quadratic function, and we have made the function equal to zero, so now we have an equation.)

\n

You should be able to use either the quadratic formula $(x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a})$ or factorise the quadratic equation in order to find the two solutions.

\n

These solutions are the $x$-coordinates of the two turning points. For each $x$ value, you can substitute back into the original cubic equation to find the corresponding $y$-coordinates.

\n

You should be able to see from the $y$ values which point is higher or lower, and so tell which one is the local maximum and which one is the local minimum.

", "type": "information", "variableReplacementStrategy": "originalfirst"}], "marks": 0, "prompt": "

Now solve the previous quadratic equation and then enter the $x$ and $y$ values of the turning points below:

\n

Local maximum: ([[0]],[[1]])

\n

Local minimum: ([[2]],[[3]])

\n

Note: We can use the second derivative to show whether a turning point is a local maximum or a local minimum. Find the second derivative and substitute the $x$ values that you have identified above. A negative value for the second derivative means that we have found a local maximum; a positive value means we have found a local minimum.

", "stepsPenalty": 0, "type": "gapfill", "gaps": [{"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "x1max", "marks": 1, "correctAnswerFraction": false, "maxValue": "x1max", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "y1max", "marks": 1, "correctAnswerFraction": false, "maxValue": "y1max", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "x1min", "marks": 1, "correctAnswerFraction": false, "maxValue": "x1min", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}, {"variableReplacements": [], "correctAnswerStyle": "plain", "mustBeReducedPC": 0, "showCorrectAnswer": true, "minValue": "y1min", "marks": 1, "correctAnswerFraction": false, "maxValue": "y1min", "showFeedbackIcon": true, "mustBeReduced": false, "scripts": {}, "variableReplacementStrategy": "originalfirst", "allowFractions": false, "type": "numberentry", "notationStyles": ["plain", "en", "si-en"]}], "variableReplacementStrategy": "originalfirst"}], "statement": "

Finding stationary points on a graph.

", "extensions": ["jsxgraph", "geogebra"], "tags": [], "variablesTest": {"condition": "max(abs(ymin),abs(ymax))<10", "maxRuns": 100}, "preamble": {"css": "", "js": ""}, "variables": {"xmin": {"definition": "if(a=1, max(r1/3, r2/a), min(r1/3, r2/a))", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "xmin"}, "r3": {"definition": "random(-1..1 except 1/2*(a1*r1/3 + mod(a1*r1,2)))*2-mod(a1*r1,2)", "description": "", "group": "Generators", "templateType": "anything", "name": "r3"}, "ymin": {"definition": "a*(xmin)^3+b*(xmin)^2+c*(xmin) + d", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "ymin"}, "d": {"definition": "random(-2..2)", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "d"}, "a1": {"definition": "random(-1..1 except [0,a])", "description": "", "group": "Generators", "templateType": "anything", "name": "a1"}, "b": {"definition": "-(r1*a + 3*r2)/2", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "b"}, "r1": {"definition": "random(-1..1)*3", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "r1"}, "y1min": {"definition": "a1*(x1min)^3+b1*(x1min)^2+c1*(x1min) + d1", "description": "", "group": "Generators", "templateType": "anything", "name": "y1min"}, "r2": {"definition": "random(-1..1 except 1/2*(a*r1/3 + mod(a*r1,2)))*2-mod(a*r1,2)", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "r2"}, "y1max": {"definition": "a1*(x1max)^3+b1*(x1max)^2+c1*(x1max) + d1", "description": "", "group": "Generators", "templateType": "anything", "name": "y1max"}, "d1": {"definition": "random(-2..2)", "description": "", "group": "Generators", "templateType": "anything", "name": "d1"}, "x1max": {"definition": "if(a1=1, min(r1/3, r3/a1), max(r1/3, r3/a1))", "description": "", "group": "Generators", "templateType": "anything", "name": "x1max"}, "ymax": {"definition": "a*(xmax)^3+b*(xmax)^2+c*(xmax) + d", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "ymax"}, "a": {"definition": "random(-1..1 except 0)", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "a"}, "xmax": {"definition": "if(a=1, min(r1/3, r2/a), max(r1/3, r2/a))", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "xmax"}, "c": {"definition": "r1*r2", "description": "", "group": "Ungrouped variables", "templateType": "anything", "name": "c"}, "c1": {"definition": "r1*r3", "description": "", "group": "Generators", "templateType": "anything", "name": "c1"}, "x1min": {"definition": "if(a1=1, max(r1/3, r3/a1), min(r1/3, r3/a1))", "description": "", "group": "Generators", "templateType": "anything", "name": "x1min"}, "b1": {"definition": "-(r1*a1 + 3*r3)/2", "description": "", "group": "Generators", "templateType": "anything", "name": "b1"}}, "advice": "

Part (a)

\n

A local maximum point is a point where regardless if you move right or left, the height will decrease, like the top of a hill. A minimum point is the opposite: no matter which direction you go your height will increase, like the bottom of a valley.  

\n

In this graph, the local minimum point is at $(\\var{xmin}, \\var{ymin})$ and the local maximum is at $(\\var{xmax}, \\var{ymax})$

\n

Part (b)

\n

In full, the function is: \\[f(x)=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor]{{a}x^3+{b}x^2+{c}x^1+{d}x^0}\\]

\n

And so following the rules for differentiating polynomials we have:

\n

\\[f(x)=a\\cdot x^n\\rightarrow\\frac{\\mathrm{d}f}{\\mathrm{d}x}=n\\cdot a\\cdot x^{n-1}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}= (3\\times\\var{a})x^2+(2\\times\\var{b})x^1+(1\\times\\var{c})x^0+(0\\times\\var{d})x^{-1}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm]{{3*a}x^2+{2*b}x^1+{c}x^0+0}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroTerm]{{3*a}x^2+{2*b}x^1+{c}x^0}\\] 

\n

Part (c)

\n

We are now using a different function, but differentiating in the same way as before:

\n

\\[f(x)=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm]{{a1}x^3+{b1}x^2+{c1}x^1+{d1}x^0}\\]

\n

\\[f(x)=a\\cdot x^n\\rightarrow\\frac{\\mathrm{d}f}{\\mathrm{d}x}=n\\cdot a\\cdot x^{n-1}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}= (3\\times\\var{a1})x^2+(2\\times\\var{b1})x^1+(1\\times\\var{c1})x^0+(0\\times\\var{d1})x^{-1}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm]{{3*a1}x^2+{2*b1}x^1+{c1}x^0+0}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroTerm]{{3*a1}x^2+{2*b1}x^1+{c1}x^0}\\]

\n

Part (d)

\n

Now let's solve the quadratic equation $\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroTerm]{{3*a1}x^2+{2*b1}x^1+{c1}}=0$ using the quadratic formula $x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}$. We have $a=\\var{3*a1}$, $b=\\var{2*b1}$, and $c=\\var{c1}$.

\n

\\[x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}\\]

\n

\\[x=\\frac{-(\\var{2*b1})\\pm\\sqrt{(\\var{2*b1})^2-4(\\var{3*a1})(\\var{c1})}}{2(\\var{3*a1})}\\]

\n

\\[x=\\frac{\\var{-1*2*b1}\\pm\\sqrt{\\var{(2*b1)^2}-\\var{4*3*a1*c1}}}{\\var{2*3*a1}}\\]

\n

\\[x=\\frac{\\var{-1*2*b1}\\pm\\sqrt{\\var{(2*b1)^2-4*3*a1*c1}}}{\\var{2*3*a1}}\\]

\n

\\[x=\\var{x1min} \\mathrm{\\ \\  or }\\ \\ \\ x=\\var{x1max}\\]

\n

Substituting these back in to the original cubic equation:

\n

\\[f(x)=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm]{{a1}x^3+{b1}x^2+{c1}x^1+{d1}}\\]

\n

\\[f(\\var{x1min})=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm,!otherNumbers,!collectNumbers]{{a1}({x1min})^3+{b1}({x1min})^2+{c1}({x1min})^1+{d1}}\\]

\n

\\[f(\\var{x1min})=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor,!zeroTerm,!otherNumbers,!collectNumbers]{{a1*x1min^3}+{b1*x1min^2}+{c1*x1min}+{d1}}\\]

\n

\\[f(\\var{x1min})=\\var{y1min}\\]

\n

Similarly, we find $f(\\var{x1max})=\\var{y1max}$.

\n

So we have two points and by comparing the $x$ and $y$ coordinates we can tell which one is the local minimum and which one is the local maximum:

\n

Local minimum: ($\\var{x1min}$,$\\var{y1min}$).  Local maximum: ($\\var{x1max}$,$\\var{y1max}$)

\n

To really prove that these points are local maximum and minimum points, we look at the second deriviative. We find this by differentiating the first derivative one more time:

\n

\\[f(x)=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroPower,!unitPower,!unitFactor]{{a1}x^3+{b1}x^2+{c1}x^1+{d1}x^0}\\]

\n

\\[\\frac{\\mathrm{d}f}{\\mathrm{d}x}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroTerm]{{3*a1}x^2+{2*b1}x^1+{c1}x^0}\\]

\n

\\[\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}=\\simplify[all,!noLeadingMinus,!zeroFactor,!zeroTerm]{{6*a1}x+{2*b1}}\\]

\n

We now test the value of $\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}$ at the two $x$-values we have found so far.

\n

When $x=\\var{x1min}$, we have $\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}=\\simplify[all,!noLeadingMinus,!zeroTerm]{{6*a1}{x1min}+{2*b1}}=\\var{6*a1*x1min+2*b1}$

\n

When $x=\\var{x1max}$, we have $\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}=\\simplify[all,!noLeadingMinus,!zeroTerm]{{6*a1}{x1max}+{2*b1}}=\\var{6*a1*x1max+2*b1}$

\n

When the value of $\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}$ is positive, the slopes are increasing in value and so we are looking at a local minimum. So we know ($\\var{x1min}$,$\\var{y1min}$) is a local minimum.

\n

When the value of $\\frac{\\mathrm{d}^2f}{\\mathrm{d}x^2}$ is negative, we are looking at a local maximum. So we know ($\\var{x1max}$,$\\var{y1max}$) is a local maximum.

\n

Bonus graph:

\n

In fact, the function $f(x)=\\simplify[all,!noLeadingMinus]{{a1}x^3+{b1}x^2+{c1}x+{d1}}$ that we have been looking at looks like this:

\n

{plotgraph(a1,b1,c1,d1)}

", "rulesets": {}, "ungrouped_variables": ["a", "r1", "r2", "ymin", "ymax", "xmax", "xmin", "b", "c", "d"], "type": "question", "contributors": [{"name": "David Rickard", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/451/"}]}]}], "contributors": [{"name": "David Rickard", "profile_url": "https://numbas.mathcentre.ac.uk/accounts/profile/451/"}]}