About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • License: Freeware
  • Last update: 6 years ago
  • Total downloads: 149
  • Price: Free |
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Riccardo Meldolesi (1 other programs)
See full specifications

scripts default iconAutomatic UNITS conversion (Scripts) Publisher's description

Eliminate UNITS related errors in code, through automatic units conversion

Eliminate UNITS related errors in code, through automatic units conversion

A UNIT class is defined to automatically perform units conversion into the MKS system (metre,kg,sec).

I aim to solve the problem of using, say, mm instead of m, or converting mm to inches.
This is also a problem during plotting, because of the need to keep track of the units
of what is being plotted.

For this reason I like to define all variables into the MKS system by writing:

diameter = 10.0 * mm;

This is an automatic conversion into MKS, while still allowing me to think in mm (or grams, N, inches ...)

If the value of mm is 1e-3, then the value of diameter is 1e-2, which, experessed in
metres is = 10 mm. (everything is fine)

From this point onward all the calculations that use 'diameter' can be done in the MKS,
avoiding any "order of magnitude error". The syntax above is also particularly useful in
input files where a lot of scalar parameters are defined. It provides a lot of
information at a glance.

When a variable needs to be displayed or plotted the following syntax can be used:




Also it is possible to perform units conversions in functions or on the command line.
For example the following statement converts 10 mm into inches

>> 10 * mm/in
ans =

all of this is not a my invention, being in use in at least another software. I adopted
it because for me it works very well.

This new submission allows to create composite units, like:

typing: kg/mm^3
will display: kg/(mm^3) = 1.000000e+009

in this case the class returned variable is 'COMPOSITEUNIT'

Other examples:
typing: kg*m/sec^2 / (kg/mm^3)
will display: kg*m/(sec^2)/(kg/(mm^3)) = 1.000000e-009

in this case the class returned variable is 'COMPOSITEUNIT'

kg*m/(sec^2) = 1.000000


To implement the syntax above I created a class called 'unit', which must be saved into
a directory called 'unitClasses'. The directory 'unitClasses' must be added to the

The function 'unitClasses@unitprivategetStructure.m' contains a comprehensive list of
units, which can be extended as suitable.

Then by calling the method 'update(unit)', a number of classes will be created, one for
each of the units defined in 'getStructure'.

You might then have to type:

'clear classes'
'rehash toolbox'

the updating can be done at any time a new unit is added to the function 'unitsList'.
from now on every time a syntax like 'diameter = 10.0 * mm;' is used a unit conversion
is made.

More info in the README.txt file

Your feedback is welcome

System Requirements:

MATLAB 7 (R14)
Program Release Status: New Release
Program Install Support: Install and Uninstall

Automatic UNITS conversion (Scripts) Tags:

Click on a tag to find related softwares

Is Automatic UNITS conversion (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.