Calculadora rápida de reconhecimento de unidade

6

Eu quero ser capaz de pressionar uma combinação de teclado, começar a digitar uma expressão matemática que inclui unidades e matemática ligeiramente avançada (não apenas uma calculadora de quatro funções), e obter um resultado imediatamente, em unidades que eu especificar, que eu pode copiar e colar.

  • No momento, abro o Firefox e pressiono Ctrl + K, digito na caixa de pesquisa, e geralmente isso me dá um resultado na lista suspensa de Google Calculator . Mas nem sempre, então eu pressiono "=" no final, aguardo um resultado, removo os iguais, aguardo um resultado, percebo que ele não entende como eu digitei uma unidade, abra o resultado em um nova aba, etc. é uma droga.
  • O Wolfram Alpha é mais inteligente, mas muito mais lento, e a saída é todas as imagens, não texto, e eu não tenho um widget rápido para isso, se tal coisa pudesse existir.
  • Unidades GNU tem uma tonelada de unidades, o que é ótimo, e eu pode definir minhas próprias unidades , o que é ótimo, mas elas precisam ser escritas de maneira específica e não intuitiva, não lida com matemática avançada e eu precisaria abrir um terminal, iniciar unidades, etc. Eu odeio a linha de comando.
  • perdi muito tempo tentando criar front-ends para units no Deskbar e Launchy , mas estou não é um codificador real e eu não uso mais nenhum deles.

Quaisquer outras soluções ou melhorias?

(A plataforma cruzada é melhor)

A calculadora ideal com reconhecimento de unidade seria capaz de lidar com tudo isso:

  • 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 kHz
  • 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 kbit / s
  • 1 hundred V / 5 ohms = 20 A
  • furlong per fortnight → cm/minute = 0.9979
  • attoparsec/microfortnight → in/second = 1.004
  • 1 ft / speed of sound = 0.89576 ms
por endolith 26.04.2010 / 02:22

5 respostas

8

Estou muito impressionado com o Qalculate! .

    
por 26.04.2010 / 04:06
5

inseto tem versões baseadas em web e em terminal. Suporta análise, manipulação e conversão de unidades físicas, por exemplo:

>>> 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⁻¹)
    
por 30.04.2017 / 18:18
2

Para uma solução de fácil criação de scripts, convém dar uma olhada no módulo 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

que dá, e. para alguma expressão moderadamente feia convertida em 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

Claro que este é realmente um código studpid que não verifica a unidade compatibilidade da entrada e saída, para que você pode acabar unidades extras no resultado.

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

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

9.71539598165644e-9/s parsec
    
por 26.04.2010 / 22:55
2

Eu principalmente compartilho suas idéias sobre uma calculadora ideal e as desvantagens de usar Unidades GNU e Wolfram e rolei minha própria Calculadora on-line que eu coloquei on-line em PhyCalc.com . Ele faz sua própria álgebra unitária para unidades do SI e usa Unidades GNU para conversão para outras unidades, ou como um substituto quando o a própria expressão contém unidades não-SI.

Seu objetivo é interpretar a entrada Unicode onde isso faz sentido. E tenta ser esperto em adivinhar a quantidade exata e a unidade correspondente. Insere automaticamente prefixos de SI. (assim como minha fiel calculadora de bolso Casio faz no modo "ENG")

Alguns comentários sobre suas entradas e respostas da "calculadora ideal":

sqrt(4*k*25 °C * 1 kΩ * (20 kHz - 20 Hz)) = 0.57357 μV

Não é exatamente preciso assumir automaticamente que o ° C seja uma temperatura absoluta. Também k não é exatamente um símbolo não ambíguo para a constante de Boltzmann. No entanto, isso deve dar a resposta necessária:

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

Eles falham em Unidades GNU:

3.5 billion kilowatt-hours per year

1 ft / speed of sound

As alternativas das Unidades GNU podem ser:

3.5 billion kWh per year
1 ft / mach in ms

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

Você pode deixar de fora a parte "→ ohm". Isso é o que eu quis dizer com "ser esperto em adivinhar a quantidade": -).

−10 dBV + 4 dB + 10 dB − 12 dB → dBu

Unidades GNU tem alguma conversão de dB, mas é definida como 10 ^ (x / 10) que é um escalar que não irá adicionar a uma voltagem, onde você assume que a calculadora deve reconhecer que deve ser escalonada. Power e deve aplicar a escala de 10 ^ (x / 20) em vez disso. Isso seria muito legal, mas é uma ponte muito longe para as unidades de gnu que eu tenho medo. Isso pelo menos lhe dará a resposta correta usando as Unidades GNU:

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

Mas posso ver por que você pode achar isso pouco intuitivo.

Caso contrário, acho que PhyCalc.com pode chegar bem perto da sua calculadora ideal.

Para ter acesso rápido a ele, mapeio minha chave dedicada do teclado da calculadora adicionando-o ao seguinte par de nome / valor de string (REG_SZ) no registro do Windows:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]
"ShellExecute"="http://phycalc.com"
    
por 18.04.2018 / 13:24
-1

O Wolfram Alpha é capaz de processar matemática e não requer que você baixe ou instale nada.

Confira aqui como usar suas funções matemáticas.

    
por 26.04.2010 / 05:04