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?