Removing specific value from cell array

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

 Risposta accettata

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]}

3 Commenti

Thank you for ur answer
You are welcome.
If this answered your question, please accept the answer. Thanks.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by