我希望能够按下键盘组合键,开始输入包含单位和稍微高级数学的数学表达式(而不仅仅是四功能计算器),并立即以我指定的单位获得结果,我可以复制和粘贴。
- 目前,我打开 Firefox,按下 Ctrl+K,在搜索框中输入内容,通常会在下拉菜单中显示结果谷歌计算器但它并不总是这样,所以我最后按下“=”,等待结果,删除等号,等待结果,意识到它不理解我输入单位的方式,在新标签中打开结果,等等。这太糟糕了。
- Wolfram Alpha更智能,但速度却慢得多,并且输出都是图像而不是文本,而且我没有一个快捷小部件,如果这样的东西可能存在的话。
- GNU 单元有很多单位,这很好,而且我可以定义我自己的单位,这很棒,但它们必须以特定的、非直观的方式编写,它不能处理太多高级数学,而且我需要打开终端、启动单元等。我讨厌命令行。
units
我浪费了很多时间尝试在 Deskbar 中制作前端,Launchy,但我并不是一名真正的程序员,而且我不再使用其中任何一个了。
还有其他解决方案或增强功能吗?
(跨平台最好)
理想的单位感知计算器应该能够处理所有这些问题:
7 nV/sqrt(Hz) ⋅ sqrt(20000 Hz - 20 Hz) → μV
= 0.99 μVsqrt(4*k*25 °C * 1 kΩ * (20 kHz - 20 Hz))
= 0.57357 μV3.5 billion kilowatt-hours per year
= 399.5 兆瓦60 billion kWh per year
= 6.849 吉瓦1/sqrt(2 mH * 2 nF)
= 500 千赫1/(2*pi*10 kΩ * 22 µF)
= 0.7234 赫兹1/(2·π·100 Hz·30pF) → ohm
= 53.05 兆欧−10 dBV + 4 dB + 10 dB − 12 dB → dBu
= -5.782 dBu94 dBSPL → Pa
= 1.00237 帕斯卡54 inches + 2 feet → cm
= 198.1厘米12 V ÷ 141.5 µA
= 84.8千欧姆16 bit * 44.1 kHz * 2 → kbit/s
= 1411千比特/秒1 hundred V / 5 ohms
= 20 安furlong per fortnight → cm/minute
= 0.9979attoparsec/microfortnight → in/second
= 1.0041 ft / speed of sound
= 0.89576 毫秒
答案1
我印象非常深刻算一下!。
答案2
昆虫有基于网页和终端的版本。它支持解析、处理和转换物理单位,例如:
>>> 2min + 30s
= 2.5min
>>> 40000km / speedOfLight -> ms
= 133.426ms
>>> 6Mbit/s * 1.5h -> GB
= 4.05GB
>>> 2J·s + 3W
Unification error:
Cannot unify unit W (base units: kg·m²·s⁻³)
with unit J·s (base units: kg·m²·s⁻¹)
答案3
为了获得易于编写脚本的解决方案,您可能需要查看sympy
python 模块。
$ cat conv.py
#!/usr/bin/env python
import sys
from sympy.physics.units import *
from sympy.printing.pretty.pretty import pprint
from sympy.abc import x, y, z
from sympy import *
# adding extra units is easy
parsec = 3.26163626*ly
if __name__ == '__main__':
s_input = sys.argv[1]
s_unit = sys.argv[2]
input = eval(s_input) # input string
unit = eval(s_unit) # output unit
print 'Converting:'
pprint(input)
print
print str((input/unit).evalf()) +' '+ s_unit
例如,将一些比较丑陋的表达式转换为 mm:
$./conv.py 'tanh(3*m/(2*m))*sinh(60*deg)*1*parsec' 'mm'
Converting:
/π\
3.08574615554565e+16*m*sinh|--|*tanh(3/2)
\3 /
3.48955431541888e+19 mm
当然,这是非常愚蠢的代码,它没有检查输入和输出的单位兼容性,因此最终可能会在结果中出现额外的单位。
$./conv.py 'c' 'parsec'
Converting:
299792458*m
-----------
s
9.71539598165644e-9/s parsec
答案4
Wolfram Alpha 能够处理数学运算,并且不需要您下载或安装任何东西。
点击此处了解如何使用其数学函数。