How to sum and compare the similar elements of 3 rows????

I have a 5 by 5 matrix,
A=[1 1 1 0 1;
1 0 0 0 1;
1 1 0 0 1;
1 1 0 0 0;
0 0 0 1 1]
I want to sum 3 row elements randomly and count only when all three row elements are same otherwise no,for example,
rows: {1,3,4}=2
{2,4,5}=1
{1,4,5}=0
the three rows can be any 3 out of 5, it wont be having all combinations of 3 rows.
please please help me.... and please can you explain me that how will i take 3 rows. if i will compare 4 row element then what will be the coding. please please help me.

3 Comments

I fixed your formatting but you can read this so you can do it yourself: http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
I don't understand what a "row element" is. Is it an entire row, or just an element from the matrix. If you sum all numbers in rows 1, 3, and 4 you get 9, not 2.
Can you look at my code below, and see if that does what you want?
I feel like it might be right, but I get 3 for {1,3,4} rather than 2.
image Analyst, row element means, for example,
A=rand(5,5);
b=A>0.5;
now b for example looks like
1 0 0 0 1
1 0 1 0 0
0 1 1 1 1
1 1 0 1 1
1 1 1 1 1
in b, I want to compare any 3 rows and count when all 3 rows
for example,
if i want to find for
{1,2,3}=0
{1,2,4}=1
{1,2,5}=0
{1,3,4}=...... and so on
{1,3,5}
{1,4,5}
{2,3,4}
{2,3,5}
{3,4,5}

Sign in to comment.

 Accepted Answer

A=[1 1 1 0 1;
1 0 0 0 1;
1 1 0 0 1;
1 1 0 0 0;
0 0 0 1 1];
I think I understand the rule. For the first case:
rowList = [1,3,4];
she wants to look at just rows 1,3, and 4:
A_sub = A(rowList,:)
then identify the columns where all the elements are equal:
This is the trickiest bit. First used bsxfun to see if each element is equal to its own first row. Then check to see if that is true for ALL elements in that column.
A_equal_col = all(bsxfun(@eq,A_sub,A_sub(1,:)));
Finally, count up how many columns obey the rule:
A_sum = sum(A_equal_col)

4 Comments

if i want to find for together, no pair should repeat, then
{1,2,3}=0
{1,2,4}=1
{1,2,5}=0
{1,3,4}=...... and so on
{1,3,5}
{1,4,5}
{2,3,4}
{2,3,5}
{3,4,5}
It's usually better to ask a new question, instead of asking a 2nd question buried in a comment where people might not see it.
But, I did happen to see this, so here you go:
nchoosek(1:5,3)
thank u so much.... i will keep that in mind...

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!