mpower doesn't work with symbolic matrix

2 vues (au cours des 30 derniers jours)
fi
fi le 7 Juil 2022
I'm trying to create a symbolic experession of a matrix A raised to the power n, using a symbolic matrix variable (as introduced in R2021a).
However, I always get the following error:
% Create a symbolic 2x2 matrix
syms A 2 matrix
% Create a symbolic integer
syms n
assume(n, {'integer', 'positive'})
% Perform A^n
A^n
Error using ^
Invalid argument at position 2. Value must be integer.
MATLAB says n isn't an integer, even though it is defined to be one. What am I doing wrong?
The same thing also happens when using the explicit syntax (mpower(A, n)).
----
Related documentation: (can't find anything about this in there)

Réponses (2)

KSSV
KSSV le 7 Juil 2022
syms A 2 matrix
syms n
assume(n, {'integer', 'positive'})
A.^n
ans = 
  1 commentaire
fi
fi le 7 Juil 2022
That's not mpower. A.^2 performs the operation element-wise (see power, .^).
What I want is matrix power as in A^2 = A*A (see mpower, ^).

Connectez-vous pour commenter.


Torsten
Torsten le 7 Juil 2022
A = sym('a%d%d', [2 2]);
A^2
ans = 

Produits


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by