Copying arrays from another file

20 views (last 30 days)
Theophile Garnier
Theophile Garnier on 8 Nov 2019
Answered: dpb on 9 Nov 2019
Hi,
I am writing a program to copy arrays from a certain amount of matlab files, merge them into one 3D array and analyze them. I am stuck on the part where I need to open each of the files and copy the arrays back to my main program. Does anyone know the syntax for this. To help answer, the files are called PIV_1_0001 to PIV_1_0009 and each contain a u and v array that I must copy back to my main function.
Thank you!

Answers (1)

dpb
dpb on 9 Nov 2019
You don't "copy", you just read each file and catenate the (I presume) 2D array to the third dimension of the initial array.
d=dir('PIV_1_*.dat'); % return directory of wanted files--adjust wildcard pattern to suit
tmp=importdata(d(1).name); % read the first file
uv=zeros([size(tmp) numel(d)]); % allocate room for the number files
uv(:,:,1)=tmp; % load first array first plane
for i=2:numel(d) % now do the rest
uv(:,:,i)=importdata(d(i).name);
end

Community Treasure Hunt

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

Start Hunting!