使用JSX图创建f(x)和f(x-a)的图形

时间:2016-09-30 14:31:22

标签: jsxgraph

如何使用jsx图来绘制f(x)的图形(用户输入)和从滑块接收a的值的f(x-a)图形?例如,如果用户输入x x和a滑块的值为1,则两个图形将位于jsx板上:一个是x,另一个是(x-1)(x-1)?< / p>

1 个答案:

答案 0 :(得分:1)

Changing the function in the text box is not changing the graph获取答案,用户提供的函数f(x)和依赖于滑块的函数f(x-a)的同时绘图可能如下所示:

board = JXG.JSXGraph.initBoard('box', {boundingbox: [-6, 12, 8, -6], axis: true});
a = board.create('slider', [[-4,7], [4,7], [-10, 1,10]], {name:'a'});

doPlot = function() {
    var txtraw = document.getElementById('input').value, // Read user input
        f = board.jc.snippet(txtraw, true, 'x', true), // Parse input with JessieCode
        curve, curve2;

    board.removeObject('f'); // Remove element with name f
    board.removeObject('g'); // Remove element with name g
    curve = board.create('functiongraph', [f, -10, 10], {name:'f'});
    curve2 = board.create('functiongraph', [
        function(x) {
            return f(x - a.Value());
        }, -10, 10], {name:'g', strokeColor: 'red'});
};

doPlot();

这意味着诀窍是定义一个返回f(x-a)的第二个函数。见https://jsfiddle.net/qmp0qdvv/1/。与上述其他问题一样,此示例允许使用JSXGraph的JessieCode解析器输入普通数学语法而不是JavaScript代码。