Diagonal direction - difference between adjacent elements

4 visualizzazioni (ultimi 30 giorni)
I have a matrix,
I = 5 4 3
9 8 6
6 3 4
How can I calculate differences between adjacent elements in a diagonal directions. I want these outputs(for first and last rows and columns I don't mind padding):
5 4 3
5 5 6
2 -3 4
and
5 4 3
9 3 2
6 -6 -4

Risposta accettata

Teja Muppirala
Teja Muppirala il 6 Mag 2011
Use 2-D convolution:
I = [ 5 4 3;
9 8 6;
6 3 4;]
I_1 = I;
I_2 = I;
I_1(2:end,1:end-1) = conv2(I,[0 1; -1 0],'valid')
I_2(2:end,2:end) = conv2(I,[1 0; 0 -1],'valid')

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by