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

1 view (last 30 days)
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.

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!