# Cell components perpendicular division

2 views (last 30 days)
MarshallSc on 17 Jul 2021
Edited: DGM on 17 Jul 2021
If I have a 4*4 cell array that each contain a 10*10 matrix as below (for example, Aii=10*10 matrix):
A={Aii Aij Aik Ail;
Aji Ajj Ajk Ajl;
Aki Akj Akk Akl;
Ali Alj Alk All};
How can I get a similiar cell array that denotes the division of perpendicular components such that I would get:
C={[Aii/Ajj] [Aij/Ajk] [Aik/Ajl] [Ail/Aji];
[Aji/Akj] [Ajj/Akk] [Ajk/Akl] [Ajl/Aki];
[Aki/Alj] [Akj/Alk] [Akk/All] [Akl/Ali];
[Ali/ij] [Alj/Aik] [Alk/Ail] [All/Aii]};

DGM on 17 Jul 2021
Something like:
A = num2cell(reshape(1:16,[4 4])) % example array
B = cellfun(@rdivide,A,circshift(A,[-1 -1])) % output
To describe the shifting, consider the example:
A = {'Aii' 'Aij' 'Aik' 'Ail';
'Aji' 'Ajj' 'Ajk' 'Ajl';
'Aki' 'Akj' 'Akk' 'Akl';
'Ali' 'Alj' 'Alk' 'All'};
circshift(A,[-1 -1])
ans = 4×4 cell array
{'Ajj'} {'Ajk'} {'Ajl'} {'Aji'} {'Akj'} {'Akk'} {'Akl'} {'Aki'} {'Alj'} {'Alk'} {'All'} {'Ali'} {'Aij'} {'Aik'} {'Ail'} {'Aii'}
MarshallSc on 17 Jul 2021
Thanks a lot for your great explanation!