Quantities is an units and uncertainties package for MATLAB.
Clone or download the Quantities package to your MATLAB folder as +Quantities
.
-
Construct a units registry, which contains all units, constants, prefixes and dimensions.
>> ureg = Quantities.unitRegistry % ureg = % Map with properties: % Count: 279 % KeyType: char % ValueType: any
-
Optionally pass
verbosity
parameter tounitRegistry
to see list of units loaded.>> ureg = Quantities.unitRegistry('v',2)
-
Units and constants can be indexed from the
unitRegsitry
using their name or alias. Theunit
,constant
andquantity
class all subclass todouble
so you can perform any operation on them. Combining adouble
with aunit
creates aquantity
class object.>> T1 = 45*ureg('celsius') % T1 = 45 ± 0 [degC]; >> T2 = 123.3*ureg.degC % T2 = 123.3 ± 0 [degC];
-
Perform operations. All units are converted to base.
>> T2.to_base % ans = 396.45 ± 0 [kelvin]; >> heat_loss = ureg.stefan_boltzmann_constant*(T1^4 - T2^4) % heat_loss = -819814 ± 0 [gram*second^-3]; >> heat_loss = ureg.stefan_boltzmann_constant*(T1.to_base^4 - T2.to_base^4) % heat_loss = -819814 ± 0 [gram*second^-3];
-
Add uncertainty to quantities by calling constructor.
>> T3 = Quantities.quantity(56.2, 1.23, ureg.degC) % T3 = 56.2 ± 1.23 [degC]; >> heat_loss = ureg.stefan_boltzmann_constant*(T1^4 - T3^4) % heat_loss = -86228.1 ± 9966.66 [gram*second^-3];
-
Convert output to different units.
>> heat_loss_kg = heat_loss.convert(ureg.kg/ureg.s^3) % heat_loss_kg = -819.814 ± 0 [kilogram*second^-3];
-
Determine arbitrary conversion factor.
>> conversion_factor = ureg.mile.convert(ureg.km) % conversion_factor = 1.60934 ± 0 [kilometer];