filling a internal value of a matrix

Hi I have the following matrix
I=
0 1 0 0
0 0 1 1
0 1 0 0
0 0 1 0
I want the following output:
0 1 0 0
0 1 1 1
0 1 1 0
0 0 1 0
Is there any easy way to do that,easily?
Thanks

 Respuesta aceptada

Matt Fig
Matt Fig el 26 de Jun. de 2011
This function will help you: FINDSUBMAT. Here is an example:
I=[0 1 0 0
0 0 1 1
0 1 0 0
1 0 0 0
0 0 1 0
1 0 0 0
0 0 1 0];
idx = findsubmat(I,[1 0 1]'); % Available at the above link...
I(idx+1) = 1
I =
0 1 0 0
0 1 1 1
0 1 0 0
1 0 0 0
1 0 1 0
1 0 1 0
0 0 1 0

Más respuestas (1)

Paulo Silva
Paulo Silva el 26 de Jun. de 2011
I(6)=1;
I(11)=1;
or
I([6 11])=1

3 comentarios

Mohammad Golam Kibria
Mohammad Golam Kibria el 26 de Jun. de 2011
What to do if I want to fill all those zeros with of the
form :
1
0
1
=
1
1
1
Walter Roberson
Walter Roberson el 26 de Jun. de 2011
Please give an example of the desired output matrix.
Mohammad Golam Kibria
Mohammad Golam Kibria el 26 de Jun. de 2011
I=
0 1 0 0
0 0 1 1
0 1 0 0
0 0 0 0
0 0 1 0
0 0 0 0
0 0 1 0
output:
0 1 0 0
0 1 1 1
0 1 0 0
0 0 0 0
0 0 1 0
0 0 1 0
0 0 1 0
This is an example, your previous code will work for
this simple matrix, but in case when my matrix is larger
and I dont know where this type of pattern
1
0
1
exists and then replace the middle 0 to 1 as above

Iniciar sesión para comentar.

Categorías

Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by