0
votes

I have this short code below but I am trying to import 5 excel files, names 101, 102, 103, 104 and 105.xlsx into matlab's workspace as separate cells so i can later make figures by calling on a column in each cell array.

They have the same number of columns (BS:BX) 6 columns is all I need but will have various rows. I'm new to MATLAB so maybe I am missing something easy here, it doesn't like the line "filename = (k,'%dtrf.xlsx');". "Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for mismatched delimiters."

clear all

close all

mkdir myfolder

dir myfolder

for k = 101 : 105

filename = (k,'*.xlsx');

data = readmatrix(strcat(filename),'Range','BS:BX');

end
1
Hi and welcom to SO. The way you are trying to generate a filename or in other word string variable is no right, try something like filename=sprintf('%d.xlsx',k) - Irreducible

1 Answers

0
votes

Based on the error message you provided and the format (k,'%dtrf.xlsx'), your loop should probably be something like:

data=cell([5 1]);
for k=101:105
  filename=sprintf('%dtrf.xlsx',k);
  data{k-100} = readmatrix(filename,'Range','BS:BX');
end

where BS, BX are assumed to be valid column names in your .xlsx files.