Get row no where comparison gives 1
1 view (last 30 days)
Show older comments
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 Comments
Accepted Answer
Walter Roberson
on 2 Jan 2018
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 Comments
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!