Square root of sum of squares (hypotenuse)
Compute the hypotenuse of a right triangle with side lengths of 3
and 4
.
C = hypot(3,4)
C = 5
Examine the difference between using hypot
and coding the basic hypot
equation in M-code.
Create an anonymous function that performs essentially the same basic function as hypot
.
myhypot = @(a,b)sqrt(abs(a).^2+abs(b).^2);
myhypot
does not have the same consideration for underflow and overflow behavior that hypot
offers.
Find the upper limit at which myhypot
returns a useful value. You can see that this test function reaches its maximum at about 1e154
, returning an infinite result at that point.
myhypot(1e153,1e153)
ans = 1.4142e+153
myhypot(1e154,1e154)
ans = Inf
Do the same using the hypot
function, and observe that hypot
operates on values up to about 1e308
, which is approximately equal to the value for realmax
on your computer (the largest representable double-precision floating-point number).
hypot(1e308,1e308)
ans = 1.4142e+308
hypot(1e309,1e309)
ans = Inf
A,B
— Input arraysInput arrays, specified as scalars, vectors, matrices, or multidimensional
arrays. Inputs A
and B
must
either be the same size or have sizes that are compatible (for example, A
is
an M
-by-N
matrix and B
is
a scalar or 1
-by-N
row vector).
For more information, see Compatible Array Sizes for Basic Operations.
If neither A
nor B
is Inf
,
but one or both inputs is NaN
, then hypot
returns NaN
.
Data Types: single
| double
Complex Number Support: Yes
For real inputs, hypot
has a few behaviors
that differ from those recommended in the IEEE®-754 Standard.
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
hypot(Inf,NaN) |
|
|
hypot(-Inf,NaN) |
|
|
This function fully supports tall arrays. For more information, see Tall Arrays.
Usage notes and limitations:
If you use hypot
with single type and double type
operands, the generated code might not produce the same result as
MATLAB. See Binary Element-Wise Operations with Single and Double Operands (MATLAB Coder).
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
You have a modified version of this example. Do you want to open this example with your edits?