Pairwise subtraction of rows in the same matrix

7 次查看(过去 30 天)
Hello guys...
Please I have this code
How can I subtract each row from all other rows(R) ... like subtracting R1-R1; R1-R2, R1-R3... R1-Rn+1 AND
then R2-R1, R2-R3.... R2-Rn+1 for all the rows
A1 = [...
0 0 1 1 1
0 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
0 0 1 1 1
1 0 1 0 1
0 0 0 0 1
1 1 1 1 1
1 1 1 1 1
0 1 1 1 1
1 0 1 0 1
0 0 1 0 1
1 1 1 1 1
1 1 1 1 1
1 0 1 1 1
0 0 1 1 1
0 1 1 1 1
1 1 1 1 1];
I need this urgently....
Thanks
  6 个评论
Adedeji
Adedeji 2019-5-12
It's not a homework but part of an ongoing project of mine
as I explained while replying to David's answer.
I wish to subtract each customers 5 attributes (The Columns) from the other customers'.
The rows are the customers
The columns are their 5 attributes.
Adedeji
Adedeji 2019-5-12
I have tried Diff()
but it's not giving me a pairwise subtraction across all possible combinations of rows there could be.

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2019-5-12
编辑:madhan ravi 2019-5-12
Aa= reshape(a',1,size(a,2),[])- a; % a your matrix , each page of Aa represents each row’s subtraction
A=reshape(permute(Aa,[2,1,3]),size(a,2),[]).'
  7 个评论
madhan ravi
madhan ravi 2019-5-12
编辑:madhan ravi 2019-5-12
Wanted = bsxfun(@minus,reshape(D.',1,size(D,2),[]), D) % the reason was your using version prior to 2016b, that's why when you ask a question you should fill up the field "Release" thereby these kinds of misunderstandings can be avoided
Adedeji
Adedeji 2019-5-12
Exactly!!!!!!
This gives me what I want...
But I also want to sum all the elements for each row and divide it by 5 for all the possible combinations.
So I end up with a 3 by 3 matrix again.
Please how do you advice I do this.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by