how to skip the index of array

15 次查看(过去 30 天)
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

采纳的回答

Tommy
Tommy 2020-5-27
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

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by