sqrt - Square root - MATLAB (original) (raw)

Syntax

Description

B = sqrt([X](#bu57a5h-X)) returns the square root of each element of the array X. For the elements of X that are negative or complex, sqrt(X) produces complex results.

The sqrt function’s domain includes negative and complex numbers, which can lead to unexpected results if used unintentionally. For negative and complex numbers z = u + i*w, the complex square root sqrt(z) returns

sqrt(r)*(cos(phi/2) + 1i*sin(phi/2))

where r = abs(z) is the radius and phi = angle(z) is the phase angle on the closed interval -pi <= phi <= pi.

If you want negative and complex numbers to return error messages rather than return complex results, use realsqrt instead.

example

Examples

collapse all

Square Root of Vector Elements

Create a row vector containing both negative and positive values.

Compute the square root of each element of X.

Y = 1×5 complex

0.0000 + 1.4142i 0.0000 + 1.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i 1.4142 + 0.0000i

Input Arguments

collapse all

X — Input array

scalar | vector | matrix | multidimensional array | table | timetable

Input array, specified as a numeric scalar, vector, matrix, multidimensional array, table, or timetable.

Data Types: single | double | table | timetable
Complex Number Support: Yes

More About

collapse all

IEEE Compliance

For real inputs, sqrt has a few behaviors that differ from those recommended in the IEEE®-754 Standard. In particular, negative inputs produce complex results instead of NaN.

| | MATLAB® | IEEE | | | ----------------- | ------------- | --- | | sqrt(-0) | 0 | -0 | | sqrt(X) for X < 0 | 0+sqrt(-X)*i | NaN |

Tips

Extended Capabilities

Tall Arrays

Calculate with arrays that have more rows than fit in memory.

Thesqrt function fully supports tall arrays. For more information, see Tall Arrays.

C/C++ Code Generation

Generate C and C++ code using MATLAB® Coder™.

Usage notes and limitations:

GPU Code Generation

Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Usage notes and limitations:

Thread-Based Environment

Run code in the background using MATLAB® backgroundPool or accelerate code with Parallel Computing Toolbox™ ThreadPool.

This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.

GPU Arrays

Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.

The sqrt function supports GPU array input with these usage notes and limitations:

If the output of the function running on the GPU can be complex, then you must explicitly specify its input arguments as complex. For more information, see Work with Complex Numbers on a GPU (Parallel Computing Toolbox).

For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).

Distributed Arrays

Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.

This function fully supports distributed arrays. For more information, see Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).

Version History

Introduced before R2006a

expand all

R2023a: Perform calculations directly on tables and timetables

The sqrt function can calculate on all variables within a table or timetable without indexing to access those variables. All variables must have data types that support the calculation. For more information, see Direct Calculations on Tables and Timetables.