How to write the name of file into entry of matrices?

1 view (last 30 days)
Frisda Sianipar
Frisda Sianipar on 27 May 2021
Commented: Stephen on 28 May 2021
I want to write the name of some pictures as a entry of a matrices
i have code like this:
myFolder = uigetdir;
filePattern = fullfile(myFolder, '*.jpg');
theFiles = dir(filePattern);
BanyakGambar=length(theFiles)
for k = 1 : BanyakGambar
baseFileName = theFiles(k).name;
fullFileName = fullfile(theFiles(k).folder, baseFileName);
fprintf(1, 'running %s\n', baseFileName);
D(k,1)=k;
s=string(baseFileName);
D(k,2)=s; %This line is the problem!!
end
but why the name of the pictures can't display in matrices D, and i got this result for matrices D
i expect the result is like this (manually write in excel). Thankyou in advance
  5 Comments

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 27 May 2021
Edited: Walter Roberson on 28 May 2021
You cannot do that. It is never possible to store a string() or character vector into a numeric object.
You need to use a cell array or struct or table()
  2 Comments
Walter Roberson
Walter Roberson on 28 May 2021
word = {'hello'; 'Frisda'}
word = 2×1 cell array
{'hello' } {'Frisda'}
number = [86; 99]
number = 2×1
86 99
as_cell = [word, num2cell(number)]
as_cell = 2×2 cell array
{'hello' } {[86]} {'Frisda'} {[99]}
as_table = table(word, number)
as_table = 2×2 table
word number __________ ______ {'hello' } 86 {'Frisda'} 99
as_struct = struct('word', word, 'number', number)
as_struct = 2×1 struct array with fields:
word number

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!