[]
        
(Showing Draft Content)

Complex Numbers in Engineering Functions

Many of the engineering functions involve complex numbers. A complex number consists of two parts, a real part and an imaginary part. You can think of a complex number as being a point (x,y) in a plane. You can think of a real number as being a point (x,0) on the x-axis of the plane. Note that real numbers are a subset of complex numbers with zero for the coefficient of the imaginary part. There is not a complex number data type. Instead, complex numbers are represented using strings of the form "x+yi" where x and y are real numbers and x is the real part and yi is the imaginary part. For example:

  • "2+3i"
  • "1.23E4+5.67E8i"

Note that if either the real part or the imaginary part is zero then the zero part can be optionally omitted from the text representation. For example:

  • "3" is equivalent to "3+0i"
  • "4i" is equivalent to "0+4i"

Since real numbers are a subset of complex numbers, a real number can be used in place of a string of the form "x+yi". For example:

  • 3 is equivalent to "3+0i"

The functions that return a complex number return a string of the form "x+yi". For example:

  • COMPLEX(3,5) returns "3+5i"

The functions that accept a complex number can accept either a number or a string of the form "x+yi". For example:

  • IMSUM("1+2i", "3+4i") returns "4+6i"
  • IMSUM(1, 3) returns "4"

When a string cannot be converted to a number Spread returns a #VALUE error. For example:

  • COS("abc") returns #VALUE!
  • IMCOS("abc") returns #VALUE!

Spread allows either suffix "j" or the suffix "i" to denote the imaginary part. For example:

  • "3+4j" is equivalent to "3+4i"

Spread allows mixed suffixes in the a given formula and always returns the "i" suffix. For example:

  • IMSUM("1+2i","3+4i") returns "4+6i"
  • IMSUM("1+2j","3+4j") returns "4+6i"
  • IMSUM("1+2i","3+4j") returns "4+6i"

Spread does not allow spaces before the real part or before the imaginary part. For example:

  • IMABS("3+4i") returns 5
  • IMABS(" 3+4i") returns #VALUE!
  • IMABS("3 +4i") returns #VALUE!
  • IMABS("3+4i ") returns #VALUE!