Choosing Specific Elements from An Array

30 visualizaciones (últimos 30 días)
Pranjal Pathak
Pranjal Pathak el 3 de Nov. de 2013
Editada: Andrei Bobrov el 3 de Nov. de 2013
Hi,
My problem is:
I have a matrix A. From it, I want to choose only some of the specific elements and place them in another array B at the specified locations. But, by default it is becoming of the same dimension as A, with zero at those locations. How to get only the non-zero elements at the specified locations with no zeros?
A=[1 2 3 4 5;
6 7 8 9 10;
11 12 13 14 15;
16 17 18 91 20;
21 22 23 24 25];
B(1,3)=A(1,3);
B(2,2:4)=A(2,2:4);
B(3,1:5)=A(3,1:5);
B(4,2:4)=A(4,2:4);
B(5,3)=A(5,3);
Thanking You!

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 3 de Nov. de 2013
Editada: Andrei Bobrov el 3 de Nov. de 2013
[ii,jj] = ndgrid(1:5);
k = abs(ii-jj)<=2;
B = A.*(k&fliplr(k));
ADD
A1 = A';
B = A1(k&fliplr(k));

Más respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 3 de Nov. de 2013
B=[A(1,3) A(2,2:4) A(3,2:5) A(4,2:4) A(5,3)]

Image Analyst
Image Analyst el 3 de Nov. de 2013
Try this:
out = A(B~=0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by