js类似matlab_JavaScript突然宣布支持符号计算,Matlab傻眼了!

大家好,Hedgehog Lab 0.3版本已经发布了(https://hedgehog-lab.github.io/),这个版本最大的改动就是babel前端更新的operator overload插件配合nerdamer实现了JavaScript上的非常初级简单的符号计算,用户体验堪比Matlab。

先来像Matlab一样优雅地定义变量x:

let x = sym('x')

然后定义函数表达式f(x):

let fx = ( x^2 ) + exp(x) + sin(x)

好了!表达式部分已经完全写好了!接下来只要计算微分和积分,并且优雅地用LaTeX的方式打印出来就可以了——

formulaTex(`f(x) = ` + fx.toTex())

formulaTex(`f'(x) = ` + diff(fx,x).toTex())

formulaTex(`\\int{f(x)dx} = ` + integrate(fx,x).toTex())

看看结果——

完美!

接下来可以试试三个变量的W(x,y,z)

let x = sym('x')

let w = sym('w');

let y = sym('y');

let W = (x^w) + sin(w+y) + (y^-2) + 1/w + log(cos(x) + sin(x))

然后分别对W进行x,y,w的微分,并且对x进行积分——

formulaTex(`W(x,y,w) = ` + W.toTex())

formulaTex(`\\frac{dW(x,y,w)}{dx} = ` + diff(W,x).toTex());

formulaTex(`\\frac{dW(x,y,w)}{dy} = ` + diff(W,y).toTex());

formulaTex(`\\frac{dW(x,y,w)}{dw} = ` + diff(W,w).toTex());

formulaTex(`\\int{W(x,y,w)dx} = ` + integrate(W,x).toTex());

太简单太好用了吧!

而且以上功能全部包含在Hedgehog Lab环境中,并且是完全在浏览器里编译、运行、显示的结果——不需要安装任何软件,不需要任何配置,不需要任何服务器连接,不管您用的Windows笔记本、Macbook笔记本、iPad和iPhone自带浏览器、龙芯笔记本、华为Matepad Pro、三星Galaxy Tab、树莓派Firefox、小米手机、智能冰箱,只要有浏览器,打开网页就能完全无缝编译运行哦!

一个完整的教程已经发布在tutorial 7中了,可以进入hedgehog lab中点击tutorial 7然后编译运行查看结果:Hedgehog Lab, a powerful scientific computation environment in browser.​hedgehog-lab.github.io

另外0.3版本的release notes:

完善了babel compiler的operator overload plugin,我把babel template重写了一下,现在的compiler不仅支持了symbolic computing的所有operator overload,还支持了“number (+/-/*) Matrix”的operator overload,还支持了2DArray [ALL_OPERATORS] Matrix,如果有一个很长的矩阵表达式,但是开头是非Mat类的scalar/vector/2D Array,现在用起来会更爽,也就是说,类似以下几种矩阵运算的表达式语法,在之前版本不支持,目前版本已经支持了——

let matB = 1 + matA;

let matC = [[1,2,3],[4,5,6]] + matA;

let matD = [[1,2,3],[4,5,6]] / matA;

let matE = 1 - matA;

什么是Hedgehog Lab?Hedgehog Lab是一个开源免费的、完完全全老老实实在浏览器里运行的、编译运行JavaScript进行科学计算、符号计算、代数和矩阵、数据画图、生成TeX公式、机器学习、数据分析的编程环境,并且尽可能地给JavaScript加上各种口味的语法糖,让用户用得舒服开心。

不需要安装任何软件,不需要任何配置,不需要任何服务器连接,不管您用的Windows笔记本、Macbook笔记本、iPad和iPhone自带浏览器、龙芯笔记本、华为Matepad Pro、三星Galaxy Tab、树莓派Firefox、小米手机、智能冰箱,只要有浏览器,打开网页就能完全无缝编译运行哦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值