Search indecies in matrix
1 view (last 30 days)
Show older comments
thank you very much
0 Comments
Accepted Answer
the cyclist
on 16 Oct 2015
l1 = {'A' 'B';
'B' 'A';
'B' 'C';
'C' 'D';
'D' 'E';
'E' 'F';
'F' 'E';
'F' 'C';
'C' 'F';
'F' 'B';
'B' 'F';
'F' 'G';
'G' 'F';
'G' 'A';
'G' 'E';
'E' 'G'};
x = {'B' 'C' 'D' 'E' 'F' 'G'};
numberRows = size(l1,1);
numberCols = size(x,2) + 1; % Offsetting by one, to compensate for the 0 values in loc. Will chop that off later.
[~,loc] = ismember(l1,x);
loc1 = loc(:,1)+1;
loc2 = loc(:,2)+1;
A = zeros(numberRows,numberCols);
linearIndex1 = sub2ind(size(A),1:numberRows,loc1');
linearIndex2 = sub2ind(size(A),1:numberRows,loc2');
A(linearIndex1) = -1;
A(linearIndex2) = 1;
% Chop off spurious first column
A(:,1) = [];
0 Comments
More Answers (1)
bob k
on 16 Oct 2015
1 Comment
the cyclist
on 17 Oct 2015
Edited: the cyclist
on 17 Oct 2015
I'm happy to have helped!
Two quick comments:
- The best form of thanks is upvoting and/or accepting the solution, which rewards the person who answered, and also may help guide folks who may have similar questions.
- You added this remark as a new "answer", when it would have been better placed as a comment on my answer.
See Also
Categories
Find more on Deep Learning Toolbox 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!