Réponse acceptée

the cyclist
the cyclist le 16 Oct 2015

0 votes

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) = [];

Plus de réponses (1)

bob k
bob k le 16 Oct 2015

0 votes

Hi 'the cyclist',
Thank you very much, I could not figure that out for the life of me. I really appreciate it.

1 commentaire

the cyclist
the cyclist le 17 Oct 2015
Modifié(e) : the cyclist le 17 Oct 2015
I'm happy to have helped!
Two quick comments:
  1. 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.
  2. You added this remark as a new "answer", when it would have been better placed as a comment on my answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Compiler dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by