User defined function in for loop

1 view (last 30 days)
Doron Joffe
Doron Joffe on 1 Dec 2021
Answered: VBBV on 1 Dec 2021
I have created a loop to loop through a series of csv files and perform functions. The code I wrote is below:
file=('list of my files')
for i = 1:length(file)
csv = readtable(file{i});
Date=csv{1,2}
D(i,:)=Date %% I get a cell array with the dates from each file
end
The code that I wrote works but I need to transform it into a user-defined function. I have tried creating the function below. However, when I call the function I do not get the required results. Am I creating the function incorrectly?
function [csv,D] = read_function(i,file,a,b);
csv = readtable(file{i});
Date=csv{a,b};
D(i,:)=Date
end
%%% In a new window I call the function like this
file=('list of my files')
for i = 1:length(file)
a=1;
b=2;
[csv,D] = read_function(i,file,a,b);
end
  2 Comments
Doron Joffe
Doron Joffe on 1 Dec 2021
Thank you very much. Would I add a line to the function which states csv=table2array(csv) ?
It still seems to give problems when i try that.

Sign in to comment.

Answers (1)

VBBV
VBBV on 1 Dec 2021
file=('list of my files')
for i = 1:length(file)
a=1;
b=2;
[csv,D] = read_function(i,file{i},a,b); % pass one file as input argument to function
end
Read only file at one time inside the for loop.

Community Treasure Hunt

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

Start Hunting!