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 开始提供
创建两个表,并将第一个表提升为第二个表的幂。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。
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
必须具有相同的大小或具有兼容的大小(例如,A
是一个 M
×N
矩阵,B
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
整数数据类型的操作数不能为复数。
表或时间表形式的输入必须满足以下条件: (自 R2023a 起)
如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。
如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。
如果两个输入均为表或时间表,则:
两个输入必须具有相同的大小,或其中一个必须为单行表。
两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。
如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。
如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| table
| timetable
复数支持: 是
详细信息
对于实数输入,power
的一些行为不同于 IEEE®-754 标准中推荐的行为。
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
运算符支持直接对表和时间表执行运算,无效通过索引访问其变量。所有变量都必须具有支持该运算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
从 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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)