power, .^
Potencia elemento por elemento
Sintaxis
Descripción
C =
eleva cada elemento de A
.^B
A
a las potencias correspondientes en B
. Los tamaños de A
y B
deben ser los mismos o ser compatibles.
Si los tamaños de A
y B
son compatibles, los dos arreglos se amplían implícitamente para coincidir el uno con el otro. Por ejemplo, si A
o B
es un escalar, el escalar se combina con cada elemento del otro arreglo. Además, los vectores con distintas orientaciones (un vector fila y un vector columna) se amplían implícitamente para formar una matriz.
Ejemplos
Elevar al cuadrado cada elemento de un vector
Cree un vector, A
, y eleve al cuadrado cada elemento.
A = 1:5; C = A.^2
C = 1×5
1 4 9 16 25
Encontrar la inversa de cada elemento de una matriz
Cree una matriz, A
, y extraiga la inversa de cada elemento.
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
Una inversión de los elementos no es igual a la inversa de la matriz, que en su lugar se escribe como A^-1
o inv(A)
.
Vector fila a potencia de vector columna
Cree un vector fila de 1 por 2 y un vector columna de 3 por 1 y eleve el vector fila a la potencia del vector columna.
a = [2 3]; b = (1:3)'; a.^b
ans = 3×2
2 3
4 9
8 27
El resultado es una matriz de 3 por 2, donde cada elemento (i,j) de la matriz es igual a (j) .^ b(i)
:
Encontrar las raíces de un número
Calcule las raíces de -1
a la potencia 1/3
.
A = -1; B = 1/3; C = A.^B
C = 0.5000 + 0.8660i
Para A
de base negativa y de B
no entero, la función power
devuelve resultados complejos.
Utilice la función nthroot
para obtener las raíces reales.
C = nthroot(A,3)
C = -1
Elevar una tabla a la potencia de otra tabla
Desde la versión R2023a
Cree dos tablas y eleve la primera a la potencia de la segunda. Los nombres de las filas (si están presentes en ambas) y los nombres de las variables deben ser iguales, pero no necesitan estar en el mismo orden. Las filas y las variables de la salida están en el mismo orden que la primera entrada.
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
Argumentos de entrada
A
, B
— Operandos
escalares | vectores | matrices | arreglos multidimensionales | tablas | horarios
Operandos, especificados como escalares, vectores, matrices, arreglos multidimensionales, tablas u horarios. Las entradas A
y B
deben ser del mismo tamaño o tener tamaños compatibles (por ejemplo, A
es una matriz de M
por N
y B
es un escalar o un vector fila de 1
por N
). Para obtener más información, consulte Tamaños de arreglos compatibles para operaciones básicas.
Los operandos con un tipo de datos enteros no pueden ser complejos.
Las entradas que son tablas u horarios deben satisfacer estas condiciones: (desde R2023a)
Si una entrada es una tabla o un horario, todas sus variables deben tener tipos de datos que admitan la operación.
Si solo una entrada es una tabla u horario, la otra entrada debe ser un arreglo lógico o numérico.
Si ambas entradas son tablas u horarios:
Ambas entradas deben tener el mismo tamaño, o bien una de ellas debe ser una tabla de una fila.
Ambas entradas deben tener variables con los mismos nombres. Sin embargo, las variables de cada entrada pueden estar en un orden diferente.
Si ambas entradas son tablas y ambas tienen nombres de filas, los nombres de sus filas deben ser los mismos. Sin embargo, los nombres de las filas de cada entrada pueden estar en un orden diferente.
Si ambas entradas son horarios, las horas de sus filas deben ser iguales. Sin embargo, las horas de las filas de cada entrada pueden estar en un orden diferente.
Tipos de datos: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| table
| timetable
Soporte de números complejos: Sí
Más acerca de
Cumplimiento con IEEE
En las entradas reales, power
tiene comportamientos que difieren de los recomendados en el estándar IEEE®-754.
MATLAB® | IEEE | |
---|---|---|
|
|
|
|
|
|
Capacidades ampliadas
Arreglos altos
Realice cálculos con arreglos que tienen más filas de las que caben en la memoria.
Esta función es totalmente compatible con los arreglos altos. Para obtener más información, consulte Arreglos altos.
Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.
Notas y limitaciones de uso:
Cuando tanto
X
comoY
son reales, peropower(X,Y)
es complejo, la simulación produce un error y el código generado devuelveNaN
. Para obtener el resultado complejo, convierta el valor de entradaX
en complejo pasándolo acomplex(X)
. Por ejemplo,power(complex(X),Y)
.Cuando tanto
X
comoY
son reales, peroX .^ Y
es complejo, la simulación produce un error y el código generado devuelveNaN
. Para obtener el resultado complejo, convierta el valor de entradaX
en complejo utilizandocomplex(X)
. Por ejemplo,complex(X).^Y
.La generación de código no es compatible con entradas de matrices dispersas en esta función.
Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.
Notas y limitaciones de uso:
Cuando tanto
X
comoY
son reales, peropower(X,Y)
es complejo, la simulación produce un error y el código generado devuelveNaN
. Para obtener el resultado complejo, convierta el valor de entradaX
en complejo pasándolo acomplex(X)
. Por ejemplo,power(complex(X),Y)
.Cuando tanto
X
comoY
son reales, peroX .^ Y
es complejo, la simulación produce un error y el código generado devuelveNaN
. Para obtener el resultado complejo, convierta el valor de entradaX
en complejo utilizandocomplex(X)
. Por ejemplo,complex(X).^Y
.La generación de código no es compatible con entradas de matrices dispersas en esta función.
Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL Coder™.
Ambas entradas deben ser escalares y la entrada del exponente, k
, debe ser un entero.
Entorno basado en subprocesos
Ejecute código en segundo plano con MATLAB® backgroundPool
o acelere código con Parallel Computing Toolbox™ ThreadPool
.
Esta función es totalmente compatible con entornos basados en subprocesos. Para obtener más información, consulte Ejecutar funciones de MATLAB en un entorno basado en subprocesos.
Arreglos GPU
Acelere código mediante la ejecución en una unidad de procesamiento gráfico (GPU) mediante Parallel Computing Toolbox™.
Notas y limitaciones de uso:
No se admiten valores enteros de 64 bits.
Si la base
A
o el exponenteB
son dispersos,B
debe ser un escalar.
Para obtener más información, consulte Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Arreglos distribuidos
Realice particiones de arreglos grandes por toda la memoria combinada de su cluster mediante Parallel Computing Toolbox™.
Esta función es totalmente compatible con los arreglos distribuidos. Para obtener más información, consulte Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox).
Historial de versiones
Introducido antes de R2006aR2023a: Realizar operaciones directamente en tablas y horarios
El operador power
admite operaciones directamente en las tablas y en los horarios sin indexar para acceder a sus variables. Todas las variables deben tener tipos de datos que admitan la operación. Para obtener más información, consulte Direct Calculations on Tables and Timetables.
R2016b: El cambio en la ampliación implícita afecta a los argumentos para operadores
A partir de la versión R2016b con la incorporación de la ampliación implícita, algunas combinaciones de argumentos para operaciones básicas que anteriormente devolvían errores ahora generan resultados. Por ejemplo, anteriormente no podía añadir un vector fila y columna, pero ahora dichos operandos están disponibles para que se añadan. En otras palabras, una expresión como [1 2] + [1; 2]
anteriormente devolvía un error de falta de coincidencia de tamaños, pero ahora se ejecuta.
Si su código utiliza operadores elemento por elemento y se basa en los errores que MATLAB devolvía anteriormente para tamaños que no coincidían, especialmente dentro de un bloque try
/catch
, es posible que su código deje de detectar esos errores.
Para obtener más información sobre los tamaños de entrada necesarios para operaciones básicas con arreglos, consulte Tamaños de arreglos compatibles para operaciones básicas.
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de 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)