Clearing part of an array

2 visualizzazioni (ultimi 30 giorni)
Jared
Jared il 29 Gen 2013
I'm having a tough time figuring out the syntax to access specific columns in an array (and maybe even using the wrong terms to describe this...).
Say data=1x16 cell. If I want to clear the data but keep the columns intact, I have been doing data{1,8}={} and that clears column 1-8. However, I can not do data{9,16}={} to clear 9-16.
How would I do this? I'm sure it's something simple I am overlooking...

Risposta accettata

Kye Taylor
Kye Taylor il 29 Gen 2013
Since data is a row of cells, the syntax
data{1,8} = {}
actually sets the 8th entry of data equal to the empty cell. To set each of the first eight entries of data equal to the empty cell, you can use
data(1:8) = {[]}
Similarly, clear the data in entries 9 through 16 using the syntax
data(9:16) = {[]}

Più risposte (1)

Image Analyst
Image Analyst il 29 Gen 2013
Modificato: Image Analyst il 29 Gen 2013
You must be doing 1:8, not 1 comma 8. {9,16} would refer to a single cell of a 2D cell array (the cell in the 9th row and 16th column of the 2D cell array), which you don't have - you have only a 1D cell array. To clear cells 9 through 16 use colon like 9:16.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by