how to calculate power of a matrix

7 visualizzazioni (ultimi 30 giorni)
Maurizio Mastorfini
Maurizio Mastorfini il 2 Ott 2012
I have just started looking at this, so it may be a very simple task to do.
I have a vector of M elements, each element is a matrix 2x2 where the matrix elements A are complex number (real and imaginary or module and phase )
I need to calculate the power^r of this vector. in other words I need to calculate the power^r, where r is a real number, of the matrix A = [ A11 A12 / A21 A22]^r where Axy = Re +Im or Mod and Ph
I'm a new with Matlab, so any suggestion is welcome.
BR Maurizio

Risposte (2)

Wayne King
Wayne King il 2 Ott 2012
Modificato: Wayne King il 2 Ott 2012
Are you just asking for the squared modulus (magnitude) of the complex-valued elements of a matrix?
X = randn(5,5)+1i*randn(5,5);
abs(X).^2
or if you want to the third power:
abs(X).^3
  1 Commento
Maurizio Mastorfini
Maurizio Mastorfini il 4 Ott 2012
Modificato: Maurizio Mastorfini il 4 Ott 2012
the matrix is like this:
S11 S12 S21 S22
S = { S11;S12;S21;S22 }
each Sxy is a complex number: re + jim
I need to calculate the S^r where r can be any real number.
The theory says this: find the digonal matrix D of S, which contains the eigenvalues of that matrix S and decompose S in 2 other matrices, called U and V in order to have S = U*D*V the S^r is then calculated in this way
S^r = U*(D^r) *V
D only has 2 non 0 coefficients: D11 and D22,then
D^r = { D11^r;0;0;D22^r }
I wander if all this can be done with a single funtion, and if the funtion will support a the matrix of complex numbers.
BR

Accedi per commentare.


Azzi Abdelmalek
Azzi Abdelmalek il 2 Ott 2012
r=0.25
A={rand(2)+j*rand(2);rand(2)+j*rand(2);rand(2)+j*rand(2)}
out=cellfun(@(x) x^r,A,'uni',false)
out{:}
if you A^r element by element use
out=cellfun(@(x) x.^r,A,'uni',false)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by