Быстрый калькулятор с поддержкой единиц измерения

я хочу иметь возможность нажать комбинацию клавиш, начать вводить математическое выражение, которое включает в себя единицы измерения и слегка продвинутую математику (а не только калькулятор с четырьмя функциями), и сразу же получить результат в единицах, которые я указываю, что я могу копировать и вставлять.

  • в данный момент я открываю Firefox и нажимаю Ctrl+K, набираю в поле поиска, и это обычно дает мне результат в выпадающем меню от Калькулятор Google. Однако это не всегда, поэтому я нажимаю "=" в конце дождитесь результата, удалите равные, дождитесь результата, поймите, что он не понимает, как я набрал единицу, откройте результат в новой вкладке и т. д. это отстой.
  • Wolfram Alpha умнее, но намного медленнее, и вывод - это все изображения, а не текст, и у меня нет быстрого виджета для него, если такая вещь вообще может существовать.
  • единицы GNU имеет тонну единиц, что здорово, и я могу определить свои собственные единицы, это здорово, но они должны быть написаны конкретными, неинтуитивными способами, он не обрабатывает много продвинутой математики, и мне нужно открыть терминал, начать единицы и т. д. Ненавижу командную строку.
  • я потратил много времени, пытаясь сделать передние концы для units в Deskbar и Launchy, но я не настоящий кодер, и я больше не использую ни один из них.

любые другие решения или усовершенствования этих?

(кросс-платформа best)

идеальный калькулятор с поддержкой единиц измерения сможет справиться со всеми этими:

  • 7 nV/sqrt(Hz) ⋅ sqrt(20000 Hz - 20 Hz) → μV = 0.99 µV
  • sqrt(4*k*25 °C * 1 kΩ * (20 kHz - 20 Hz)) = 0.57357 µV
  • 3.5 billion kilowatt-hours per year = 399.5 MW
  • 60 billion kWh per year = 6.849 GW
  • 1/sqrt(2 mH * 2 nF) = 500 кГц
  • 1/(2*pi*10 kΩ * 22 µF) = 0.7234 Hz
  • 1/(2·π·100 Hz·30pF) → ohm = 53.05 MΩ
  • −10 dBV + 4 dB + 10 dB − 12 dB → dBu = -5.782 dBu
  • 94 dBSPL → Pa = 1.00237 Pa
  • 54 inches + 2 feet → cm = 198.1 cm
  • 12 V ÷ 141.5 µA = 84.8 kΩ
  • 16 bit * 44.1 kHz * 2 → kbit/s = 1411 Кбит/с
  • 1 hundred V / 5 ohms = 20 а
  • furlong per fortnight → cm/minute = 0.9979
  • attoparsec/microfortnight → in/second = 1.004
  • 1 ft / speed of sound = 0.89576 ms
15
задан endolith
25.11.2022 13:50 Количество просмотров материала 2360
Распечатать страницу

5 ответов

Я очень впечатлен с Qalculate!.

Qalculate! screenshot

7
отвечен Dennis Williamson 2022-11-26 21:38

насекомые имеет как веб -, так и терминальные версии. Он поддерживает синтаксический анализ, обработку и преобразование физических единиц, например:

>>> 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
отвечен shark.dp 2022-11-26 23:55

для легко scriptable решения вы можете взглянуть на 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.48955431541888e+19 mm

конечно, это действительно код studpid, который не проверяет единицу совместимость входного сигнала и выхода, так вы в результате могут появиться дополнительные единицы.

$./conv.py 'c' 'parsec'

Converting:
299792458*m
-----------
     s

9.71539598165644e-9/s parsec
2
отвечен Benjamin Bannier 2022-11-27 02:12

Я в основном делюсь своими идеями об идеальном калькуляторе и недостатках использования единицы GNU и Wolfram и свернул мой собственный онлайн калькулятор, который я поставил онлайн наPhyCalc.com. Он делает свою собственную алгебру единиц для единиц СИ и использует единицы GNU для преобразования в другие единицы, или как запасной вариант, когда само выражение содержит единицах Си.

его целью является интерпретация ввода Unicode, где это имеет смысл. И пытается быть умным о угадывание точного количества и соответствующей единицы. Он автоматически вставляет Си-префиксы. (так же, как мой верный старый Casio карманный калькулятор делает в режиме "ENG")

некоторые комментарии о ваших" идеальный калькулятор " входы и ответы:

sqrt (4*k * 25 °C * 1 kΩ * (20 кГц - 20 Hz)) = 0.57357 µV

его не совсем точно автоматически считать °c абсолютной температурой. Также к не совсем однозначный символ Постоянная Больцмана. Однако это должно дать вам необходимый ответ:

sqrt(4*1.38064852e-23J/K*(273.15K+25 °C) * 1 kΩ * (20 kHz - 20 Hz)) in μV

эти сбои в блоках GNU:

3,5 миллиарда киловатт-часов в год

1 фут / скорость звука

альтернативы GNU Units могут быть:

3.5 billion kWh per year
1 ft / mach in ms

1 / (2·π·100 Гц·30pF) → ohm

вы можете опустить часть "→ ohm". Это то, что я имел в виду под " умным угадыванием количество.)-: "

-10 dBV + 4 dB + 10 dB-12 db → dBu

единицы GNU имеют некоторое преобразование дБ, но оно определено как 10^(x/10), которое является скалярным, что оно не добавит напряжения, где вы предполагаете, что калькулятор должен признать, что он должен масштабировать напряжение вместо мощности и вместо этого должен применять масштабирование 10^(x/20). Это было бы очень круто, но, боюсь, это слишком далеко для блоков gnu. Это по крайней мере даст вам правильный ответ с помощью модулей GNU:

 1V*dB(-10)^0.5*dB(4)^0.5*dB(10)^0.5*dB(-12)^0.5 → dBu

но я могу понять, почему вы можете найти, что не интуитивно.

иначе я думаю PhyCalc.com может приблизиться к вашему идеальному калькулятору.

чтобы иметь быстрый доступ к нему, я сопоставляю свой выделенный калькулятор клавиатуры ключ к нему, добавив к следующей строке (REG_SZ) имя/значение пары в реестре Windows:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
"ShellExecute"="http://phycalc.com"
2
отвечен Ronald 2022-11-27 04:29

Вольфрам Альфа может хруст математике и вам не нужно ничего скачивать и устанавливать.

регистрация здесь как использовать математические функции.

-1
отвечен Majik 2022-11-27 06:46

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх