User defined function in for loop

7 views (last 30 days)
Doron Joffe
Doron Joffe on 1 Dec 2021
Edited: Doron Joffe 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
VBBV
VBBV on 1 Dec 2021
Convert the csv variable to double and then pass it as function output argument. csv is table array and not double
Doron Joffe
Doron Joffe on 1 Dec 2021
Edited: 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 (0)

Categories

Find more on MATLAB Compiler 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!