Understanding basics of struct?

1 view (last 30 days)
Carlone
Carlone on 19 May 2020
Edited: Stephen23 on 31 Jan 2025
Hello,
A beginners short story with 3 and a half Questions:
  • I want to get a list of all filepath of filenames in a folder (?).
For that I'm using dir which creates a struct (so far so good).
  • Now I want to save the first colum with the filenames as a cell array (?)
Solved this by using struct2cell .
  • But is there a way to export a single colum (or even a defined range of that colum) ?
I was also thinking an easy for loop would solve that but...
  • I'm struggeling to get the length of the struct ?
And...
  • Is there an elegant way to sort names in the struct in a "natural way" (1,2,3,...,11,12 instead of 1,11,12,2,3,...) ?
Big Thanks!!!

Accepted Answer

Ameer Hamza
Ameer Hamza on 19 May 2020
Edited: Ameer Hamza on 19 May 2020
To create a cell array with a single field (column)
d = dir;
folderPaths = {d.folder};
folderPaths_range = {d(5:11).folder}; % for files 5 to 11
Length of struct
n = numel(d);
To sort in "natural way", see this FEX submission by Stephen: https://www.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort

More Answers (0)

Products


Release

R2016b

Community Treasure Hunt

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

Start Hunting!