Effacer les filtres
Effacer les filtres

Insertion of the index

2 vues (au cours des 30 derniers jours)
Bathrinath
Bathrinath le 18 Déc 2013
Modifié(e) : Andrei Bobrov le 18 Déc 2013
The number of jobs n =4 which are in k = [3,2,4,6].
First index value in k is 3, now i need to insert the first index value to second index value which is k1 = [2,3,4,6]. From k,first index value is inserted to the third index value k2 = [2,4,3,6]. From k, first index value is inserted to fourth index value k3 = [2,4,6,3]. Now the first index process is over. Select the second index form k and insert the values in different position. k4 = [2,3,4,6]; k5 = [3,4,2,6]; k6= [3,4,6,2].
Select the third index from k and insert the values in different position. k7 = [4,3,2,6]; k8= [3,4,2,6]; k9 = [3,2,6,4].
Select the fourth index from k and insert the valued in different position. K10 = [6,3,2,4]; k11 = [3,6,2,4]; k12 = [3,2,6,4].
This process has to be repeated with respect to the number of jobs.

Réponse acceptée

Roger Stafford
Roger Stafford le 18 Déc 2013
Here's a way using two nested for-loops:
K = zeros(n*(n-1),n);
r = 0;
for i1 = 1:n
p = [1:i1-1,i1+1:n];
for i2 = p
r = r + 1;
K(r,:) = k([p(1:i2-1),i1,p(i2:n-1)]);
end
end
The rows of K are your k1, k2, k3, ...,
  1 commentaire
Bathrinath
Bathrinath le 18 Déc 2013
Thanks sir its working fine

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 18 Déc 2013
Modifié(e) : Andrei Bobrov le 18 Déc 2013
n =4;
k = [3,2,4,6];
i1 = repmat((1:n)',1,n);
p = i1.*~eye(n)+triu(ones(n));
i3 = rem(bsxfun(@plus,reshape(0:n-1,1,1,[]),p)-1,n)+1;
i02 = reshape(i3,n,[])';
i02((1:n:size(i02,1)) + (0:n-1),:)=[];
out = k(i02);

Catégories

En savoir plus sur MATLAB Parallel Server dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by