Is it possible to do calculations with GNU Octave using measuring units?
Hello! In qalc I can do calculations using measuring units like this:
> 5 W * 3 s
(5 watts) × (3 seconds) = 15 J
I'd like to be able to do something similar also in GNU Octave. I think the symbolic library could be a place to look at, but I found nothing "already done". Do any of you know of a way to achieve this functionality?
It looks interesting, but more focused on conversions than actual operations it seems:
octave:37> a.value = 100
a =
scalar structure containing the fields:
value = 100
unit = W
octave:38> a.unit = 'W'
a =
scalar structure containing the fields:
value = 100
unit = W
octave:39> b.value = 3
b =
scalar structure containing the fields:
value = 3
unit = s
octave:40> b.unit = 's'
b =
scalar structure containing the fields:
value = 3
unit = s
octave:41> a*b
error: binary operator '*' not implemented for 'scalar struct' by 'scalar struct' operations
I think I've found a solution. Matlab has implemented symunits in the symbolic toolbox and I've found the original? on Github. Hopefully it is compatible to GNU Octave.
automatically no, but perhaps there's a way to replace it. If there's a way to check if a variable is "divisible by another symbolic one" then it would be not so hard to implement this behavior