Removing specific value from cell array

1 次查看(过去 30 天)
Lets suppose i have a cell array as:
A={[1 2 4 6 7]; [1 2 5 7 9 8]; [3 4 6 8]; [1 2 3 4 5 6]]
now i want to remove the element from each cell based on the cell index and want answer like
A={[2 4 6 7]; [1 5 7 9 8]; [4 6 8]; [1 2 3 5 6]}
thanks in advance

采纳的回答

Les Beckham
Les Beckham 2021-11-26
There may be a more compact (i.e., single line) way to do this but this works and is not too complex:
A={[1 2 4 6 7]; [1 2 5 7 9 8]; [3 4 6 8]; [1 2 3 4 5 6]}; % note that I replaced your ] at the end with }
A
A = 4×1 cell array
{[ 1 2 4 6 7]} {[1 2 5 7 9 8]} {[ 3 4 6 8]} {[1 2 3 4 5 6]}
for i = 1:numel(A)
A{i}(A{i}==i) = [];
end
A
A = 4×1 cell array
{[ 2 4 6 7]} {[1 5 7 9 8]} {[ 4 6 8]} {[1 2 3 5 6]}

更多回答(0 个)

类别

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