Trying to input a number of files from a matrix

1 次查看(过去 30 天)
I'm not sure why this isn't working but I'm just trying to load multiple files from a folder and it's not reading my variables in the matrix as a string. I tried converting to chars but I obviously need more than 1 char based on the example below.
subName = ["10", "12"];
InputFolder = 'F:\Graph Data\';
for i = 1:(size(subName)) %through the size of the number of input files
load([InputFolder,'S',(subName(i)),'_data']);
end
I'd appreciate any help

采纳的回答

Walter Roberson
Walter Roberson 2020-9-16
>> subName = ["10", "12"]; size(subName), 1:size(subName)
ans =
1 2
ans =
1
size() with a single parameter always returns a vector with at least two elements. When you give the colon operator a non-scalar value (such as a vector of length 2), then it ignores everything except the first value... which in this case is 1, the number of rows in subName.
load([InputFolder,'S',(subName(i)),'_data']);
You should probably be using something like
load( fullfile(InputFolder, "S" + subName(i) + "_data.mat") )
and better yet would be to assign the result of load() to a variable, instead of "poofing" variables into existence.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by