用于 Javascript 或 Jquery 绘图的方程解析器

Equation Parser for Graphing in Javascript or Jquery

我想要一个方程解析器,这样它就可以求解 x 和 y 以获得点数组(即 x 和 y)。

示例:

让我们假设用户输入表达式:

var expression ="x + y = 1";

现在假设我知道域和范围:

var xMin = -10, yMin = -10, xMax = 10 ,yMax = 10;

所以我想要的是这些范围和域之间的绘图点。

意思是我想要一个数组或者二维数组来保存x坐标和y坐标的值。

任何人都可以建议我如何使用任何算法或程序到达这里。

提前致谢!

将等式解析为标准形式后,您可以根据一个未知变量在给定范围内所需的点数替换不同的值,即对于此示例,假设 x 并获得相应的 y 值。

试试这个。 "parser.js" 可以从这里下载 https://github.com/silentmatt/js-expression-eval/tree/master

也看看这个,可能会有帮助 http://silentmatt.com/javascript-function-plotter/

     <html>
<head>
<script src="parser.js"></script>
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>

<script>


$( document ).ready(function() {
var xMin = -10, yMin = -10, xMax = 10 ,yMax = 10;
var rangeIncrement=1;

var equation="";
var points=[];

$( "#btnDraw" ).click(function() {
points=[];
equation=$("#txtequation").val()
expr = Parser.parse(equation);
i=0;
for(i=xMin  ;i<=xMax ;i+=rangeIncrement)
{
  result=expr.evaluate({ x: i});
    points.push([i, result]);
}
$( "#resultPoints" ).empty();
$.each(points, function( index, value ) {
  $( "#resultPoints" ).append( "<p>X="+value[0] +", Y="+ value[1]+"</p>" );
});

});
});



</script>
</head>
<body>
var xMin = -10, yMin = -10, xMax = 10 ,yMax = 10;
<br>
var rangeIncrement=1;
<br>
Y= <input type="text" id="txtequation"  value="x+1" /><button id="btnDraw">Draw</button>
<br>
<div id="resultPoints"></div>
</body>
</html>