Engineering functions

IMSEC

Matches all 3 recorded answers

Recorded: 3 workbook cells. How we measure this · See the Rust code

Local names in 40 languages
LanguageName in Excel
ArabicIMSEC
BulgarianIMSEC
CzechIMSEC
DanishIMAGSEC
GermanIMSEC
GreekIMSEC
English (Australia)IMSEC
English (United Kingdom)IMSEC
English (United States)IMSEC
SpanishIM.SEC
EstonianIMSEC
FinnishKOMPLEKSI.SEK
FrenchCOMPLEXE.SEC
HebrewIMSEC
CroatianIMSEC
HungarianKÉPZ.SEC
IndonesianIMSEC
ItalianIMSEC
JapaneseIMSEC
KoreanIMSEC
LithuanianIMSEC
LatvianIMSEC
NorwegianIMSEC
DutchC.SEC
PolishSEC.LICZBY.ZESP
Portuguese (Brazil)IMSEC
Portuguese (Portugal)IMSEC
RomanianIMSEC
RussianМНИМ.SEC
SlovakIMSEC
SlovenianIMSEC
Serbian (Latin)IMSEC
SwedishIMSEK
ThaiIMSEC
TurkishSANSEC
UkrainianIMSEC
VietnameseIMSEC
Chinese (Simplified)IMSEC
Chinese (Hong Kong)IMSEC
Chinese (Traditional)IMSEC

Names from Microsoft's support site.

What it does

IMSEC(inumber)

IMSEC(inumber) returns the complex secant, mathematically the reciprocal of IMCOS. It returns complex text even if the imaginary component is zero.

Try it

Input cells (optional)

Example: {"B2": 3, "B3": 4}. A1 holds the formula. Other cells need values before a formula can read them.

Enter a formula, then calculate.

Runs locally in your browser with OneCalc. Its answer may differ from Excel. Use English function names and commas between arguments.

=IMSEC("i") gives real text about "0.648054273663885", the reciprocal of the mathematical cosh(1). This is less than one, although a real secant away from its poles has magnitude at least one.

Quirks

Complex arguments may be real numbers or text such as "2-3i". Use lowercase i or j; operands in one call must agree on the suffix. The current parser rejects malformed complex text with #NUM! and logical values with #VALUE!. A complex result is text, so ordinary worksheet arithmetic does not automatically treat it as a pair of numeric components. A zero denominator gives #NUM! in the current reciprocal helper. Near a pole, small changes in the input can cause large changes in the result.

How to implement

Parse the two coefficients and suffix before doing arithmetic; use the common complex formatter afterward. Retain suffix consistency, suppress a zero component and omit the coefficient one before the imaginary unit. Formatting and parsing have their own fifteen-significant-digit rules, so testing only the algebra misses observable behaviour.

First compute the unformatted complex IMCOS pair (c,d). If abs(c)>=abs(d), use r=d/c, v=1/(c+d*r), and return (v,-r*v). Otherwise use r=c/d, v=1/(d+c*r), and return (r*v,-v). Reject (0,0) before division. The current reciprocal forms one reciprocal and multiplies a component by it; calling generic IMDIV with numerator one forms a different rounded graph. Keep this distinction when reproducing recorded results.

Rust code

Show the CalcFunc source of this function

Quoted from the public repository DnaCalc/DnaCalc, crates calc-func and calc-fml, at commit 9e1884369a67. Comments are the source's own. A kernel shared with other functions appears once, on its module page.

IMSEC · 1 lines · calc-func/src/catalogue/engineering.rs on GitHub
45 imsec "IMSEC" (1, 1) [V "inumber"] |s, a, sv| { unary_complex(s, a, |z| z.sec()) }

Kernels shared with other functions

Argument and result plumbing

No implementation has been published with a Handbook test suite for this function.

Version differences

No same-input comparison between named Excel builds is recorded for this function here. The documented behaviour below is not a measurement of every Excel release.

Alternatives

IMCOS supplies the denominator; IMDIV divides arbitrary complex inputs; COMPLEX creates a value from coefficients.

Named variants

No named variants are recorded yet.

Suggest a correction or contribute an implementation · For agents