joining two arrays to make a longer one
4 次查看(过去 30 天)
显示 更早的评论
If I have two arrays, lets say the first is called a and the second is called b, I am aware of the fact that I can combine them with the command A=[a;b] to get a longer array
the problem I have got now is the following: I have two matlab files (let's say the first one is year 2002 and the second one from year 2003) which are saved in my computer and wich I would like to load, what is no big deal. Ich matlab file consist of 8 vectors which are called F,K,PC,Price,T,VIX,date,r
loading this is no problem, but as soon as I an loading both files, because the arrays in the files have the same name, the second file is overwriting the first one is there a way to write a code in a script which loads both files and combines them the way I mentionned above without overwriting the first file?
0 个评论
采纳的回答
Image Analyst
2013-4-7
You aren't using load correctly. You need to load each into its own structure
storedStructure1 = load(filename1);
storedStructure2 = load(filename2);
% Get theResults (or whatever) from each
theResults1 = storedStructure1.theResults;
theResults2 = storedStructure2.theResults;
% Concatenate
theResults = [theResults1; theResults2];
0 个评论
更多回答(1 个)
Cedric
2013-4-7
编辑:Cedric
2013-4-7
If all vectors are column vectors, do the following:
data = [] ;
for f = 1 : nFiles
% Load file f:
% ... whatever you are doing to load the file.
% CAT to data array:
data = vertcat(data, [F,K,PC,Price,T,VIX,date,r]) ;
end
if these are row vectors, just transpose them. If it is a mix and you don't want to investigate, just read them linearly ( => column ):
data = vertcat(data, [F(:),K(:),PC(:),Price(:),T(:),VIX(:),date(:),r(:)]) ;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!