Removing specific value from cell array

1 Ansicht (letzte 30 Tage)
Mausmi Verma
Mausmi Verma am 26 Nov. 2021
Kommentiert: Les Beckham am 28 Nov. 2021
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

Akzeptierte Antwort

Les Beckham
Les Beckham am 26 Nov. 2021
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 Kommentare
Les Beckham
Les Beckham am 27 Nov. 2021
You are welcome.
Les Beckham
Les Beckham am 28 Nov. 2021
If this answered your question, please accept the answer. Thanks.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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