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
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
入力引数
オペランド。スカラー、ベクトル、行列、多次元配列、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
複素数のサポート: あり
詳細
実数入力の場合、power
の動作の一部が IEEE®-754 Standard で推奨されている動作とは異なります。
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
拡張機能
power
関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
使用上の注意および制限:
X
とY
の両方が実数であり、power(X,Y)
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を渡して入力値X
を複素数にします。たとえば、power(complex(X),Y)
のようになります。X
とY
の両方が実数であり、X .^ Y
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を使用して入力値X
を複素数にします。たとえば、complex(X).^Y
のようになります。コード生成では、この関数のスパース行列入力はサポートされません。
使用上の注意および制限:
X
とY
の両方が実数であり、power(X,Y)
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を渡して入力値X
を複素数にします。たとえば、power(complex(X),Y)
のようになります。X
とY
の両方が実数であり、X .^ Y
が複素数である場合、シミュレーションでエラーが発生し、生成されたコードはNaN
を返します。複素数の結果を得るには、complex(X)
を使用して入力値X
を複素数にします。たとえば、complex(X).^Y
のようになります。コード生成では、この関数のスパース行列入力はサポートされません。
どちらの入力もスカラーでなければならず、また指数の入力 k
は整数でなければなりません。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
power
関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
底
A
または指数B
がスパースな場合、B
はスカラーでなければなりません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入power
オペレーターでは、変数にアクセスするためにインデックス付けを行うことなく、table および timetable に対して直接演算を行うことがサポートされます。すべての変数のデータ型で演算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
R2016b から暗黙的な拡張が追加されたことにより、それまで基本演算でエラーを返していた一部の引数の組み合わせで、結果が出力されるようになりました。たとえば、以前は行ベクトルと列ベクトルを加算できませんでしたが、それらのオペランドは現在、加算で有効になっています。つまり、[1 2] + [1; 2]
のような式は、以前はサイズの不一致エラーを返していましたが、実行されるようになりました。
コードで要素単位の演算子を使用し、以前 MATLAB の返していたサイズの不一致エラーに依存している場合 (特に try
/catch
ブロック内)、コードは今後、これらのエラーをキャッチしなくなることがあります。
基本的な配列演算に必要な入力サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)