2014-10-11 36 views
0

我遇到了麻烦的限制,即MATLAB放置在未使用单元格数组编译的C++代码的烦人限制上。避免对象列表中的单元格阵列

把最普遍的,我有一个代码,使用一些MATLAB对象,我需要有多个对象的实例。这对单元阵列来说很简单,但我无法弄清楚如何避免使用它们。

这样做的简单代码将如下所示。我试图摆脱使用单元阵列的潜力的代码编译,并可能更有效的内存分配。

function surf_pts = foo(images) 
surf_pts = cell(size(images,3),1); 
for i = 1 : size(images,3) 
    surf_pts{i} = detectSURFFeatures(images(:,:,i)); 
end 

回答

1

可以按如下方式使用结构的阵列:

function surf_pts = foo(images) 

surf_pts = struct('Pts',[]); 
surf_pts(1:size(images,3),1)=surf_pts; 

for i = 1 : size(images,3) 
    surf_pts(i).Pts= detectSURFFeatures(images(:,:,i)); 
end