このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
sqrt
説明
B = sqrt(
は、配列 X
)X
の各要素の平方根を返します。X
の要素が負または複素数の場合、sqrt(X)
は結果を複素数で出力します。
関数 sqrt
の定義域には負の数と複素数が含まれており、意図せず使用すると予期しない結果になることがあります。負の数と複素数 z = u + i*w
の場合、複素数の平方根 sqrt(z)
は次を返します。
sqrt(r)*(cos(phi/2) + 1i*sin(phi/2))
ここで、r = abs(z)
は半径、phi = angle(z)
は閉区間 -pi <= phi <= pi
の位相角です。
負の数および複素数の場合に、複素数の結果を返すのではなくエラー メッセージを返すようにするには、realsqrt
を代わりに使用します。
例
ベクトル要素の平方根
負の値と正の値の両方を含む行ベクトルを作成します。
X = -2:2
X = 1×5
-2 -1 0 1 2
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
入力引数
X
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
入力配列。数値スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
データ型: single
| double
| table
| timetable
複素数のサポート: あり
詳細
IEEE 準拠
実数入力の場合、sqrt
の動作の一部が IEEE®-754 Standard で推奨されている動作とは異なります。特に、負の入力の結果は NaN
ではなく、複素数になります。
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
ヒント
行列の平方根については、
sqrtm
を参照してください。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
シミュレーションでエラーが発生します。入力値
x
が実数で、出力は複素数にする必要がある場合、生成されるスタンドアロン コードはNaN
を返します。複素数の結果を得るには、complex(x)
を渡して入力値を複素数にします。スタンドアロン ターゲット用のコードを生成し、MATLAB コードの
sqrt
への入力が定数でない場合、生成されたコードがsqrt(-0)
に対して返す値は、C/C++ コンパイラの標準ライブラリ関数が返す値と同じです。標準ライブラリ関数が IEEE 754 標準に準拠している場合、生成されたコードは-0
を返します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意事項および制限事項:
シミュレーションでエラーが発生します。入力値
x
が実数で、出力は複素数にする必要がある場合、生成されるスタンドアロン コードはNaN
を返します。複素数の結果を得るには、complex(x)
を渡して入力値を複素数にします。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
GPU で実行される関数の出力が複素数になる可能性がある場合は、入力引数を明示的に複素数として指定しなければなりません。詳細については、GPU 上での複素数の処理 (Parallel Computing Toolbox)を参照してください。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2023a: table および timetable で直接計算を実行
関数 sqrt
は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは 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)