nmovshov/physunits
The `physunits` toolbox is an attempt to confer "dimensional awareness" to the
MATLAB environment. The motivation and a suggested algorithm are explained in:
Petty, G.W., 2001. Automated computation and consistency checking of physical
dimensions and units in scientific programs. _Software: Practice and Experience_,
31(11), pp.1067-1076. The author also made available for download a FORTRAN90
module that implements this idea in the FORTRAN language. The module and paper can
be downloaded from http://rain.aos.wisc.edu/~gpetty/physunits.html. The
`physunits` toolbox is based on that module and expands it while trying to adhere
consistently to MATLAB standards and practices (_from 2006_).
The `physunits` toolbox works by defining the `preal` data type and overloaded
functions to support it. A variable of type `preal` represents a physical
quantity. It has two _private_ fields: 'value' - the numerical value, which must
be a numeric type with zero imaginary part, and 'units' - a vector of 7 numbers,
representing the physical dimensions associated with 'value'. The format for the
'units' vector is [length, mass, time, temperature, electric current, amount of
matter, illumination, luminous intensity]. But these details are never needed by
the user, who defines his or her variables via an interface structure. The
interface structure contains predefined variables of type `preal`, representing
the most useful SI units as well as many other units, derived units, constants of
nature, parameters, etc. Get this structure by calling the `setUnits` function.
Create your own dimensioned variables by multiplying a number with an existing
`preal` variable.
See the HTML documentation for more details and examples.
### Setup
The physunits toolbox is implemented as an old-style (pre-2008) MATLAB class. In
this style MATLAB classes are defined by a directory of the class name preceded by
a `@` sign. The `@preal` directory contains the `preal` class definition and
methods. **To use the `preal` class, the directory immediately above `@preal` must
be on the MATLAB search path.**
Zitieren als
Naor Movshovitz (2024). nmovshov/physunits (https://github.com/nmovshov/physunits), GitHub. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
@preal
Versionen, die den GitHub-Standardzweig verwenden, können nicht heruntergeladen werden
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.5.0.0 | Moving the submission to GitHub for easier maintenance |
|
|
1.4.0.0 | Adding an overloaded cumsum function. |
||
1.3.0.0 | I modified the < and <= operators to avoid dimension checking in the special case where the second argument has value zero. The only reason is to allow the common usage of
|
||
1.2.0.0 | Added setFUnits.m to create a "fake units" structure with only type double for deployment to users who do not wish to install the toolbox. Deployment usually involves a single line (single character really) change to code.
|
||
1.0.0.0 | Added a couple of overloaded functions
|