Electr, a language for electronic formulas
github.com
github.com
https://en.wikipedia.org/wiki/GNU_Units
Calculations aren't quite as short as "1mA 3K", but pretty close to it.
You have: 1mA 3kohm
You want: V
* 3
/ 0.33333333
It has long and short SI prefixes,
scientific notation,
implicit multiplication,
and a history dating back to Unix itself.By the way, one of the example calculations (calculation of 205 Hz) is too high by a factor 10.
You have: 1 / (2 pi 0.5microF sqrt(11kohm 22kohm))
You want: Hz
* 20.461734
/ 0.048871712https://education.ti.com/en/us/products/computer_software/ti...
One of the cool things about understanding circuits and simulation is that you can use the same concepts and tools to model non-electronics-domain problems: thermal systems, mechanical systems, etc. You can combine these, too: for a simple non-confidential example, we recently did modeling of the fusing of tin whiskers, which involves solving the electrical and thermodynamic properties at the same time.
There has been some other work on notational representation of electronics as part of the SPICE work that Berkley did. Also AT&T did some work there, the BLADES papers (http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=31523&...) and others have that. Hardward description languages (HDL's) often include an internal way of expressing various things as well.
From a purely hobby based approach building something which was a calculator with a resistor, capacitor, and inductor key might be useful. All though if you add two resistors and an inductor what you really want is the frequency response of the RL circuit not the parasitic resistance of the coil added to the resistors.
NB: This was a separate product from the Inspire software
Why kilo-ohms are denoted with "K" while milliamperes are using the proper SI unit "mA"? Why not to use "Ω" and "kΩ"? We have that symbol in high ASCII.
Probably just my ignorance of programming language design speaking but I really have to ask.
It's nothing to do with programming language design.
That said, I like the idea of having Ω, √, etc. But I'm afraid that our keyboards/editors/terminals are still not good to type that kind of characters quickly. But maybe I could use R or Ω, K or KΩ, why not…
And yes I think you're right, I could infer that 10K + 200 is 10.2K, like 3V times 2 is 6V, etc
- It's not always evident what unit you want show after a calculation. (As/Vm or C/Vm, kV/m or V/mm)
- You should handle fractional power of units (like V/sqrt(Hz))
I recently discovered orpie and that one has unit handling. It has electrical (and all sort of physical) units and handles both of this problems fairly well. For the calculation result's unit it uses the one that comes evidently from the source terms (1kV* 0.5mA=0.5kV* mA), then the user can convert it to other equivalent units or to SI base units. It's an RPN calculator so one has to get the hang of it.
Edit:
Oh, electric engineers like to think of "rad" as a unit (like in rad/s and Hz). I think it's impossible to handle it well.
https://futureboy.us/frinkdocs/
... and why in general programmers like to think about bare numbers and love to differentiate them into floats and ints of various length (like it's the 90-ies) but don't care if they are volts or meters.