sqrt
Square root
Syntax
Description
B = sqrt(
returns
the square root of each element of the array X
)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.
Examples
Square Root of Vector Elements
Create a row vector containing both negative and positive values.
X = -2:2
X = 1×5
-2 -1 0 1 2
Compute the square root of each element of X
.
Y = sqrt(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
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
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 | |
---|---|---|
|
|
|
|
|
|
Tips
See
sqrtm
for the matrix square root.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This 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:
Simulation produces an error. Generated standalone code returns
NaN
when the input valuex
is real, but the output should be complex. To get the complex result, make the input value complex by passing incomplex(x)
.If you generate code for standalone targets and the input to
sqrt
in your MATLAB code is not a constant, the value that the generated code returns forsqrt(-0)
is identical to the value that the standard library function of your C/C++ compiler returns. If the standard library function complies with the IEEE-754 Standard, the generated code returns-0
.
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
Simulation produces an error. Generated standalone code returns
NaN
when the input valuex
is real, but the output should be complex. To get the complex result, make the input value complex by passing incomplex(x)
.
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™.
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 R2006aR2023a: 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.
Apri esempio
Si dispone di una versione modificata di questo esempio. Desideri aprire questo esempio con le tue modifiche?
Comando MATLAB
Hai fatto clic su un collegamento che corrisponde a questo comando MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB. I browser web non supportano i comandi MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)