convert/unit_free - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Science and Engineering : Units : Conversions : convert/unit_free

convert/unit_free

convert to unit-free form

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

convert(u, unit_free, unit)

Parameters

u

-

expression

unit

-

(optional) name

Description

• 

The convert(u, unit_free) function returns the unit-free component of u. If u is of type unit, then 1 is returned.

• 

The convert(u, unit_free, unit) function returns the unit-free component of u and assigns the unit component of u to unit. If u is of type unit, then 1 is returned. If u is unit-free, then 1 is assigned to unit.

• 

The term unit-free describes a scalar quantity with no (multiplicative) unit attached to it. Conversion to unit-free does not apply directly to any non-scalar Maple object or data structure, which may still have units embedded within it.

Examples

Notes: 

– 

To enter a unit in 2-D Math input, select the unit from the appropriate Units palette. If the unit you want is not there, select unit and then enter the unit.

– 

When you edit a unit, double brackets appear around it.

convert(100.0, unit_free);

100.0

(1)

convert(234, unit_free, 'unit1');

234

(2)

unit1;

1

(3)

expr := convert(45*sin(x)*Unit(farad), unit_free, 'unit2');

expr45sinx

(4)

unit2;

F

(5)

a:=expr*unit2;

a45sinxF

(6)

The conversion to unit_free state does not recurse into, or map over, non-scalar objects. Examples illustrating such mapping or effective unit-stripping recursion are shown below.

M := Vector[row]([3*Unit(gram),5*Unit(kilogram)]);

M3g5kg

(7)

map(convert,M,unit_free);

35

(8)

t := Int( sin(x)*Unit(meter), x=1*Unit(s)..10*Unit(s) );

ts10ssinxmⅆx

(9)

subsindets( t, with_unit, z->convert(z,unit_free) );

110sinxⅆx

(10)

subsindets( t, specfunc(anything,Units:-Unit), 1 );

110sinxⅆx

(11)

If a non-scalar object contains a mix of units then it may be desirable to combine the units or convert to a single system, so as to get correct scaling.

expr := Mrange = [3*Unit(kg)..5*Unit(g)];

exprMrange=3kg..5g

(12)

subsindets( expr, with_unit, z->convert(combine(z,units),unit_free) );

Mrange=3..1200

(13)

expr := Mrange = [3*Unit(kg)..5*Unit(lb)];

exprMrange=3kg..5lb

(14)

subsindets( expr, with_unit, z->convert(convert(z,'system',FPS),unit_free) );

Mrange=30000000045359237..5

(15)

See Also

convert

convert,conversion_table

convert,dimensions

convert,units

electric capacitance

type/with_unit

Units

Units/Index