how to skip the index of array

14 Ansichten (letzte 30 Tage)
Shehab Tarek
Shehab Tarek am 27 Mai 2020
Beantwortet: Tommy am 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

Akzeptierte Antwort

Tommy
Tommy am 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

Weitere Antworten (1)

Stanislao Pinzón
Stanislao Pinzón am 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

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by