how to skip the index of array

21 vues (au cours des 30 derniers jours)
Shehab Tarek
Shehab Tarek le 27 Mai 2020
Réponse apportée : Tommy le 27 Mai 2020
i have the index array =[1,2,1,2,4]
the output matrix =[2,3,4,5,6]
the second output matrix=[1,3,4,5,6]
the third output matrix=[2,3,4,5,6]
and so on

Réponse acceptée

Tommy
Tommy le 27 Mai 2020
Alternatively,
idx = [1,2,1,2,4];
N = 6; % max index
out = repmat(1:N, numel(idx), 1)';
out = reshape(out(out ~= idx), [], numel(idx))';
The rows in out are your outputs:
>> out
out =
2 3 4 5 6
1 3 4 5 6
2 3 4 5 6
1 3 4 5 6
1 2 3 5 6

Plus de réponses (1)

Stanislao Pinzón
Stanislao Pinzón le 27 Mai 2020
Maybe something like this:
A = [1,2,1,2,4];
for i=1:length(A)
B=1:6;
B(A(i))=[];
disp(B);
end

Catégories

En savoir plus sur Logical 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