用于在Javascript或Jquery中进行图形化的等式解析器

时间:2015-08-05 05:46:38

标签: parsing graph-algorithm graphing

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

示例:

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

var expression ="x + y = 1";

现在让我们说我知道域名和范围:

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

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

意味着我想要一个包含x坐标和y坐标值的数组或二维数组。

请有人建议我如何使用任何算法或程序到达这里。

提前致谢!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

试试这个。 “parser.js”可以从这里下载 https://www.npmjs.com/package/net-keepalive

看看这个,可能会有所帮助 https://github.com/silentmatt/js-expression-eval/tree/master

var Net = require('net')
  , NetKeepAlive = require('net-keepalive')
;

// Create a TCP Server
var srv = Net.createServer(function(s){>
  console.log('Connected %j', s.address())
  // Doesn't matter what it does
  s.pipe(s)
});

// Start on some port
srv.listen(1337, function(){
  console.log('Listening on %j', srv.address())
});

// Connect to that server
var s = Net.createConnection({port:1337}, function(){
  console.log('Connected to %j', s.address())

  //IMPORTANT: KeepAlive must be enabled for this to work
  s.setKeepAlive(true, 1000)

  // Set TCP_KEEPINTVL for this specific socket
  NetKeepAlive.setKeepAliveInterval(s, 1000)

  // and TCP_KEEPCNT
  NetKeepAlive.setKeepAliveProbes(s, 1)
});