このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
power, .^
要素単位のべき乗
説明
例
ベクトルの各要素の二乗
行列の各要素の逆数の計算
行列 A
を作成し、各要素の逆数を取ります。
A = [1 2 3; 4 5 6; 7 8 9]; C = A.^-1
C = 3×3
1.0000 0.5000 0.3333
0.2500 0.2000 0.1667
0.1429 0.1250 0.1111
要素ごとの逆数は行列の逆行列と等価ではありません。逆行列は、A^-1
または inv(A)
と記述されます。
行ベクトルの列ベクトルによるべき乗
1 行 2 列の行ベクトルと 3 行 1 列の列ベクトルを作成し、行ベクトルを列ベクトルでべき乗します。
a = [2 3]; b = (1:3)'; a.^b
ans = 3×2
2 3
4 9
8 27
結果は、3 行 2 列の行列になります。ここで、行列の各 (i,j) 要素は (j) .^ b(i)
と等しくなります。
数字の根の計算
-1
の 1/3
べき乗を計算します。
A = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i
負の基数 A
および整数でない B
の場合、関数 power
は複素数を返します。
実数の根を求めるには、関数 nthroot
を使用します。
C = nthroot(A,3)
C = -1
table を別の table で累乗
R2023a 以降
2 つの table を作成し、最初の table を 2 番目の table で累乗します。行名 (両方に存在している場合) および変数名は同じでなければなりませんが、同じ順序である必要はありません。出力の行および変数は、最初の入力と同じ順序になります。
A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
V1 V2
__ __
R1 1 3
R2 2 4
B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
V2 V1
__ __
R2 4 3
R1 2 1
C = A .^ B
C=2×2 table
V1 V2
__ ___
R1 1 9
R2 8 256
入力引数
A
, B
— オペランド
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
オペランド。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。A
と B
は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、A
が M
行 N
列の行列で、B
がスカラーまたは 1
行 N
列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
整数データ型のオペランドは、複素数にできません。
table または timetable である入力は次の条件を満たさなければなりません。 (R2023a 以降)
入力が table または timetable の場合、すべての変数のデータ型で演算がサポートされている必要があります。
一方の入力だけが table または timetable の場合、もう一方の入力は数値または logical 配列でなければなりません。
両方の入力が table または timetable の場合、以下のとおりです。
両方の入力のサイズが同じであるか、一方が 1 行の table でなければなりません。
両方の入力に同じ名前をもつ変数が含まれている必要があります。ただし、各入力の変数の順序は異なっていてもかまいません。
両方の入力が table で、両方とも行名をもつ場合、行名は同じでなければなりません。ただし、各入力の行名の順序は異なっていてもかまいません。
両方の入力が timetable の場合、行時間が同じでなければなりません。ただし、各入力の行時間の順序は異なっていてもかまいません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| table
| timetable
複素数のサポート: あり
詳細
IEEE 準拠
実数入力の場合、power
の動作の一部が IEEE®-754 Standard で推奨されている動作とは異なります。
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
X
とY
の両方が実数であり、power(X,Y)
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を渡して入力値X
を複素数にします。たとえば、power(complex(X),Y)
のようになります。X
とY
の両方が実数であり、X .^ Y
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を使用して入力値X
を複素数にします。たとえば、complex(X).^Y
のようになります。コード生成では、この関数のスパース行列入力はサポートされません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意事項および制限事項:
X
とY
の両方が実数であり、power(X,Y)
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を渡して入力値X
を複素数にします。たとえば、power(complex(X),Y)
のようになります。X
とY
の両方が実数であり、X .^ Y
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を使用して入力値X
を複素数にします。たとえば、complex(X).^Y
のようになります。コード生成では、この関数のスパース行列入力はサポートされません。
HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。
どちらの入力もスカラーでなければならず、また指数の入力 k
は整数でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
64 ビット整数はサポートされません。
底
A
または指数B
がスパースな場合、B
はスカラーでなければなりません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2023a: table および timetable で直接演算を実行
power
オペレーターでは、変数にアクセスするためにインデックス付けを行うことなく、table および timetable に対して直接演算を行うことがサポートされます。すべての変数のデータ型で演算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
R2016b: 暗黙的な拡張の変更は演算子の引数に影響
R2016b から暗黙的な拡張が追加されたことにより、それまで基本演算でエラーを返していた一部の引数の組み合わせで、結果が出力されるようになりました。たとえば、以前は行ベクトルと列ベクトルを加算できませんでしたが、それらのオペランドは現在、加算で有効になっています。つまり、[1 2] + [1; 2]
のような式は、以前はサイズの不一致エラーを返していましたが、実行されるようになりました。
コードで要素単位の演算子を使用し、以前 MATLAB の返していたサイズの不一致エラーに依存している場合 (特に try
/catch
ブロック内)、コードは今後、これらのエラーをキャッチしなくなることがあります。
基本的な配列演算に必要な入力サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
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)