filling a internal value of a matrix

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Matt Fig
Matt Fig il 26 Giu 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

Più risposte (1)

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

Accedi per commentare.

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by