joining two arrays to make a longer one

4 ビュー (過去 30 日間)
Locks
Locks 2013 年 4 月 7 日
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?

採用された回答

Image Analyst
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];

その他の回答 (1 件)

Cedric
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(:)]) ;
  10 件のコメント
Locks
Locks 2013 年 4 月 8 日
great, that seems to work, thanks!
Locks
Locks 2013 年 4 月 8 日
編集済み: Locks 2013 年 4 月 8 日
What I still do not reallly understand is how that is working, or in other words which element is allowing me to load the data without overwriting them, could you explain that to me? Is seems as 2002 is stored in ld, but I do not get what ld is and how it's done then

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeTables についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by