2018-05-06 23:14:39 +08:00
两款 Linux 桌面端可用的科学计算器
======
2018-05-15 10:28:31 +08:00
> 如果你想找个高级的桌面计算器的话,你可以看看开源软件,以及一些其它有趣的工具。
2018-05-06 23:14:39 +08:00
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/osdc_OpenData_CityNumbers.png?itok=lC03ce76)
2018-05-15 10:28:31 +08:00
每个 Linux 桌面环境都至少带有一个功能简单的桌面计算器,但大多数计算器只能进行一些简单的计算。
2018-05-06 23:14:39 +08:00
幸运的是,还是有例外的:不仅可以做得比开平方根和一些三角函数还多,而且还很简单。这里将介绍两款强大的计算器,外加一大堆额外的功能。
### SpeedCrunch
2018-05-15 10:28:31 +08:00
[SpeedCrunch][1] 是一款高精度科学计算器,有着简明的 Qt5 图像界面,并且强烈依赖键盘。
2018-05-06 23:14:39 +08:00
![SpeedCrunch graphical interface][3]
2018-05-15 16:43:07 +08:00
*SpeedCrunch 运行中*
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
它支持单位,并且可用在所有函数中。
2018-05-06 23:14:39 +08:00
例如,
2018-05-15 10:28:31 +08:00
```
2 * 10^6 newton / (meter^2)
```
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
你可以得到:
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
```
= 2000000 pascal
```
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
SpeedCrunch 会默认地将结果转化为国际标准单位,但还是可以用 `in` 命令转换:
2018-05-06 23:14:39 +08:00
例如:
2018-05-15 10:28:31 +08:00
```
3*10^8 meter / second in kilo meter / hour
```
2018-05-06 23:14:39 +08:00
结果是:
2018-05-15 10:28:31 +08:00
```
= 1080000000 kilo meter / hour
```
`F5` 键可以将所有结果转为科学计数法(`1.08e9 kilo meter / hour`) , `F2` 键可以只将那些很大的数或很小的数转为科学计数法。更多选项可以在配置页面找到。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
可用的函数的列表看上去非常壮观。它可以用在 Linux 、 Windows、macOS。许可证是 GPLv2, 你可以在 [Bitbucket][4] 上得到它的源码。
2018-05-06 23:14:39 +08:00
### Qalculate!
[Qalculate!][5](有感叹号)有一段长而复杂的历史。
2018-05-15 10:28:31 +08:00
这个项目给了我们一个强大的库,而这个库可以被其它程序使用(在 Plasma 桌面中, krunner 可以用它来计算),以及一个用 GTK3 搭建的图形界面。它允许你转换单位,处理物理常量,创建图像,使用复数,矩阵以及向量,选择任意精度,等等。
2018-05-06 23:14:39 +08:00
![Qalculate! Interface][7]
2018-05-15 16:43:07 +08:00
*在 Qalculate! 中查看物理常量*
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
在单位的使用方面, Qalculate! 会比 SppedCrunch 更加直观,而且可以识别一些常用前缀。你有听说过 exapascal 压力吗?反正我没有(太阳的中心大概在 `~26 PPa` ),但 Qalculate! ,可以准确 `1 EPa` 的意思。同时, Qalculate! 可以更加灵活地处理语法错误, 所以你不需要担心打括号: 如果没有歧义, Qalculate! 会直接给出正确答案。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
一段时间之后这个项目看上去被遗弃了。但在 2016 年,它又变得强大了,在一年里更新了 10 个版本。它的许可证是 GPLv2 (源码在 [GitHub][8] 上) , 提供Linux 、Windows 、macOS的版本。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
### 更多计算器
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
#### ConvertAll
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
好吧,这不是“计算器”,但这个程序非常好用。
2018-05-06 23:14:39 +08:00
2018-05-15 16:43:07 +08:00
大部分单位转换器只是一个大的基本单位列表以及一大堆基本组合,但 [ConvertAll][9] 与它们不一样。有试过把天文单位每年转换为英寸每秒吗? 不管它们说不说得通, 只要你想转换任何种类的单位, ConvertAll 就是你要的工具。
2018-05-06 23:14:39 +08:00
只需要在相应的输入框内输入转换前和转换后的单位:如果单位相容,你会直接得到答案。
2018-05-15 10:28:31 +08:00
主程序是在 PyQt5 上搭建的,但也有 [JavaScript 的在线版本][10]。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
#### 带有单位包的 (wx)Maxima
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
有时候(好吧,很多时候)一款桌面计算器时候不够你用的,然后你需要更多的原力。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
[Maxima][11] 是一款计算机代数系统( LCTT 译注:进行符号运算的软件。这种系统的要件是数学表示式的符号运算),你可以用它计算导数、积分、方程、特征值和特征向量、泰勒级数、拉普拉斯变换与傅立叶变换,以及任意精度的数字计算、二维或三维图像··· ···列出这些都够我们写几页纸的了。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
[wxMaxima][12] 是一个设计精湛的 Maxima 的图形前端,它简化了许多 Maxima 的选项,但并不会影响其它。在 Maxima 的基础上, wxMaxima 还允许你创建 “笔记本”,你可以在上面写一些笔记,保存你的图像等。其中一项 (wx)Maxima 最惊艳的功能是它可以处理尺寸单位。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
在提示符只需要输入:
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
```
load("unit")
```
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
按 `Shift+Enter` ,等几秒钟的时间,然后你就可以开始了。
2018-05-06 23:14:39 +08:00
2018-05-15 10:28:31 +08:00
默认地,单位包可以用基本的 MKS 单位,但如果你喜欢,例如,你可以用 `N` 为单位而不是 `kg*m/s2` ,你只需要输入:`setunits(N)`。
2018-05-06 23:14:39 +08:00
Maxima 的帮助(也可以在 wxMaxima 的帮助菜单中找到)会给你更多信息。
你使用这些程序吗?你知道还有其它好的科学、工程用途的桌面计算器或者其它相关的计算器吗?在评论区里告诉我们吧!
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/1/scientific-calculators-linux
作者:[Ricardo Berlasso][a]
2018-05-15 10:28:31 +08:00
译者:[zyk2290](https://github.com/zyk2290)
校对:[wxy](https://github.com/wxy)
2018-05-06 23:14:39 +08:00
本文由 [LCTT ](https://github.com/LCTT/TranslateProject ) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/rgb-es
[1]:http://speedcrunch.org/index.html
[2]:/file/382511
[3]:https://opensource.com/sites/default/files/u128651/speedcrunch.png "SpeedCrunch graphical interface"
[4]:https://bitbucket.org/heldercorreia/speedcrunch
[5]:https://qalculate.github.io/
[6]:/file/382506
[7]:https://opensource.com/sites/default/files/u128651/qalculate-600.png "Qalculate! Interface"
[8]:https://github.com/Qalculate
[9]:http://convertall.bellz.org/
[10]:http://convertall.bellz.org/js/
[11]:http://maxima.sourceforge.net/
[12]:https://andrejv.github.io/wxmaxima/