How can I resolve this problem using vertcat on matrices for daily files to create a single matrix for the whole year?

2 views (last 30 days)
Daniel
Daniel on 12 Feb 2013
Hello,
I am trying to create a single matrix that represents soil moisture data for an entire year. I have one file from each day that is 96x25 and is in a .dat format. I have been trying to upload the files and then concatenating them using the vertcat function but every time I get the error "??? Error using ==> vertcat The following error occurred converting from double to struct: Error using ==> struct Conversion to struct from double is not possible."
I don't understand what the problem is because I'm not trying to convert to struct but I'm guessing that this might be part of the vertcat function? I have found multiple entries discussing similar problems but none that have helped in resolving my problem. I have included part of the prompt I'm using below. Thanks for any help you can give.
Tyler
datfiles=dir('*.dat');
numfiles=length(datfiles);
%Import the files
for k=1:length(datfiles);
newData1 = importdata(datfiles(k).name);
newData2 = importdata(datfiles(k+1).name);
A = newData1; %Create matrix A, with all data from the file
B = newData2;
C = [A; B]; %vertically concatenates matrix A to B
end if true
% code
end

Answers (2)

Thorsten
Thorsten on 12 Feb 2013
Edited: Thorsten on 12 Feb 2013
importdata returns a structure, not a matrix;
whos newData1

Kye Taylor
Kye Taylor on 12 Feb 2013
Edited: Kye Taylor on 12 Feb 2013
So, I'm guessing that newData2 is not a structure, in particular it is a double?
Perhaps try fixing your code by replacing the line that defines A with
A = newData1.data;
  2 Comments

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!