filling a internal value of a matrix

1 vue (au cours des 30 derniers jours)
Mohammad Golam Kibria
Mohammad Golam Kibria le 26 Juin 2011
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

Réponse acceptée

Matt Fig
Matt Fig le 26 Juin 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

Plus de réponses (1)

Paulo Silva
Paulo Silva le 26 Juin 2011
I(6)=1;
I(11)=1;
or
I([6 11])=1
  3 commentaires
Walter Roberson
Walter Roberson le 26 Juin 2011
Please give an example of the desired output matrix.
Mohammad Golam Kibria
Mohammad Golam Kibria le 26 Juin 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by