Clear Filters
Clear Filters

Need help concatenating data with struct field name?

4 views (last 30 days)
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 Comments
Stephen23
Stephen23 on 5 Nov 2018
Edited: Stephen23 on 5 Nov 2018
What have you tried so far?
Stephen23
Stephen23 on 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.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 5 Nov 2018
Edited: Stephen23 on 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 Comment
flemingtb
flemingtb on 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?

Sign in to comment.

More Answers (1)

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

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!