Passing information between arrays

3 visualizaciones (últimos 30 días)
Steve
Steve el 25 de Abr. de 2013
name3d = [1x31 char] [1x31 char] [1x31 char]
ct = 1
for i = 1:length(name3d)
tableName{ct} = name3d(i)
ct = ct + 1;
end
This code results in:
tableName = {1x1 cell} {1x1 cell} {1x1 cell}
What I want is:
tableName = [1x31 char] [1x31 char] [1x31 char]
The intent here is to take an array of strings and append them onto an existing array without nesting. The nesting is making it impossible for me to export . . .
  2 comentarios
James Tursa
James Tursa el 25 de Abr. de 2013
Typo in your posted code? The first iteration has ct = 0, which would result in tableName{0} = etc, which should have resulted in an error.
Steve
Steve el 26 de Abr. de 2013
Fixed the typo. It was actually increased earlier on in the code. I just wanted to show it was defined and not complicate the whole thing with 30 lines of code . . .

Iniciar sesión para comentar.

Respuesta aceptada

Steve
Steve el 26 de Abr. de 2013
tableName (ct) = name3d(i)
Use () instead of {}. This adds each instance on one at a time rather than as one array nested inside the other.
Solved.

Más respuestas (2)

Sean de Wolski
Sean de Wolski el 25 de Abr. de 2013
What's wrong with:
tableName = name3d
? It looks like it's already the desired result.

Steve
Steve el 26 de Abr. de 2013
I can't do that because name3d is being appended onto tableName and there may be instances where there is data already stored in the array that I don't want to lose.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by