Azzera filtri
Azzera filtri

Matrix symmetric by 2x2 blocks

1 visualizzazione (ultimi 30 giorni)
Ohad Shapira
Ohad Shapira il 9 Gen 2021
Modificato: Ohad Shapira il 9 Gen 2021
Hello everyone,
I need to extract from 2n by 2n matrix the symetric and skew-symetric 2x2 blocks.
For example, for given A:
A=[
5,-1, 2,-3;
1,5, 4,2;
-2,3, 5,-1;
4,-2, 1,5;
]
I want to get:
A_symetric= [
5,-1, 0,0;
1,5, 4,0;
0,0, 5,-1;
4,0, 1,5;
]
And
A_skew_symetric= [
0,0, 2,3;
0,0, 0,2;
-2,-3, 0,0;
0,-2, 0,0;
]
  2 Commenti
Ohad Shapira
Ohad Shapira il 9 Gen 2021
function [A_sym,A_anti] = sym_by_blocks(A)
syms w t
n=length(A);
A_sym=sym(zeros(length(A)));
A_anti=sym(zeros(length(A)));
for row=1:2:n
for col=1:2:n
if row==col
A_sym(row:row+1,col:col+1)=A(row:row+1,col:col+1);
else
A_sym(row:row+1,col:col+1)=0.5*(A(row:row+1,col:col+1)+A(col:col+1,row:row+1));
A_anti(row:row+1,col:col+1)=0.5*(A(row:row+1,col:col+1)-A(col:col+1,row:row+1));
end
end
end
end
Image Analyst
Image Analyst il 9 Gen 2021
OK, and the question is.................
Or is that your answer?

Accedi per commentare.

Risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by