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

 Réponse acceptée

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 commentaires

Mausmi Verma
Mausmi Verma le 27 Nov 2021
Thank you for ur answer
Les Beckham
Les Beckham le 27 Nov 2021
You are welcome.
Les Beckham
Les Beckham le 28 Nov 2021
If this answered your question, please accept the answer. Thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by