Azzera filtri
Azzera filtri

Need help concatenating data with struct field name?

4 visualizzazioni (ultimi 30 giorni)
I have a struct (s) with Field (name) i'm looking to create a 'name' array so that i can concatenate it with data. the field 'name' is file names and the data is range values calculated from each file.
How can i place the files names in column (1) and the range values that go with each name in column (2)?
  2 Commenti
Stephen23
Stephen23 il 5 Nov 2018
Modificato: Stephen23 il 5 Nov 2018
What have you tried so far?
Stephen23
Stephen23 il 5 Nov 2018
flemingtb's "Answer" moved here:
I know the field names for the struct. I tried
F = theFiles.name
that only gives me the name of the first filename in the column.
I also tried
F = ([theFiles.name])
Which is closer, it lists all of the file names but they are not indexed, they are displayed like a huge string.

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 5 Nov 2018
Modificato: Stephen23 il 5 Nov 2018
Create a cell array from the structure field:
names = {s.name}
This syntax uses a comma-separated list:
Once you read them you will understand that my answer is equivalent to this:
C = {s(1).name, s(2).name, s(3).name,..., s(end).name}
  1 Commento
flemingtb
flemingtb il 5 Nov 2018
that worked great for getting the file names into a cell array. Now i have two options, i need to combine this cell array with the data. The data is a 45x1 double, the file names are 45x1 cell, they are not playing nice with each other.
Is it a data format issue?

Accedi per commentare.

Più risposte (1)

flemingtb
flemingtb il 5 Nov 2018
Ah i think i've got it.
out = [FileNames,num2cell(data)]

Categorie

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

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by