Skip to Main Content Skip to Search
Product Documentation

sub - Subtract two objects using fimath object

Syntax

c = F.sub(a,b)

Description

c = F.sub(a,b) subtracts objects a and b using fimath object F. This is helpful in cases when you want to override the fimath objects of a and b, or if the fimath properties associated with a and b are different. The output fi object c has no local fimath.

a and b must both be fi objects and must have the same dimensions unless one is a scalar. If either a or b is scalar, then c has the dimensions of the nonscalar object.

Examples

In this example, c is the 32-bit difference of a and b with fraction length 16.

a = fi(pi);
b = fi(exp(1));
F = fimath('SumMode','SpecifyPrecision',...
		'SumWordLength',32,'SumFractionLength',16);
c = F.sub(a, b) 

c =
 
    0.4233


          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 16

Algorithms

c = F.sub(a,b) is similar to

a.fimath = F;
b.fimath = F;
c = a - b

c =
    0.4233

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 32
        FractionLength: 16

             RoundMode: nearest
          OverflowMode: saturate
           ProductMode: FullPrecision
  MaxProductWordLength: 128
               SumMode: SpecifyPrecision
         SumWordLength: 32
     SumFractionLength: 16
         CastBeforeSum: true

but not identical. When you use sub, the fimath properties of a and b are not modified, and the output fi object c has no local fimath. When you use the syntax c = a - b, where a and b have their own fimath objects, the output fi object c gets assigned the same fimath object as inputs a and b. See fimath Rules for Fixed-Point Arithmetic in the Fixed-Point Toolbox User's Guide for more information.

See Also

add | divide | fi | fimath | mpy | mrdivide | numerictype | rdivide

  


Free Early Verification Kit

Learn how to apply early verification to your development process through these technical resources.

How much time do you spend on testing to ensure implementation meets system-level requirements?

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS