appending .mat files

2 次查看(过去 30 天)
I have two .mat files x1.mat and x2.mat. The first column of both the .mat files contains folder/file name. The second column contains the bounding box values that is different for both the .mat files. The format is like this:(image name, bounding box values). I need to create a new .mat file by appending both the .mat files in such a way that the resultant .mat file contains three columns such that the second column contains the bounding box information of x1.mat and the third column contains the bounding box information of x2.mat. The missing entries in both these columns should contain the values [0,0,0,0].

回答(1 个)

Prakhar Jain
Prakhar Jain 2018-9-25
Let mat files be X1.mat and X2.mat. Load them into workspace.
load X1.mat;
load X2.mat;
First_col = unique([X1(:,1) ; X2(:,1)]); %This will give the unique file/folder names
rows = size(First_col,1);
AppendMat = cell(rows,3);
for i=1:rows
AppendMat{i,1} = First_col(i);
first = find(First_col(i) == X1(:,1));
if(isempty(first))
AppendMat{i,2} = [0 0 0 0]
else
AppendMat{i,2} = X1(i,2);
end
second = find(First_col(i) == X2(:,1));
if(isempty(second))
AppendMat{i,3} = [0 0 0 0]
else
AppendMat{i,3} = X2(i,2);
end
end
% AppendMat cell contains the required combined output
  4 个评论
Sivaramakrishnan Rajaraman
编辑:Sivaramakrishnan Rajaraman 2018-10-2
Do you mind answering this question? the requested files have been uploaded. thanks.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Entering Commands 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by