Get row no where comparison gives 1
2 次查看(过去 30 天)
显示 更早的评论
Hey i have a cell array:
A={[4x9 cell],[3x9 cell],[2x9 cell]}
A{1,1}= [1,-0.03,0.1,1.3,0,0.23,1,0,0.2; 1,0.6,0.14,2,0,0.6,0.6,0,0.6; 1,-0.15,0,1.4,0,0.35,1,0,0.38; 2,-0.2,0.18,3,0,0.4,0,0,0.4]; similarly values for A{1,2} and A{1,3}
I have compared each row of A{1,1} with every other row in A{1,1} using
A(1:end-1,:)<A(2:end,:)
Now what I want to find is that how can I get the row no's which are being compared at a particular time. For example if row 1 and row 2 are being compared how can I get 1 and 2 in result.
I want to store all elements where result of comparison is 1. for example if row 1 and row 4 gives 1 in result then I want to store the row no where the result is 1 ( like 1 and 4 in this example).
please help.
0 个评论
采纳的回答
Walter Roberson
2018-1-2
repmat((1:size(A,1)-1).', 1, size(A,2)) .* (A(1:end-1,:)<A(2:end,:))
which would give you
0 1 1 1 0 1 0 0 1
0 0 0 0 0 0 2 0 0
3 0 3 3 0 3 0 0 3
for whatever good that would do you.
10 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!