【问题标题】:Avoiding Cell Arrays for Lists of Objects避免对象列表的元胞数组
【发布时间】:2014-10-12 06:48:18
【问题描述】:

我在克服 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

【问题讨论】:

    标签: matlab cells matlab-compiler


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2017-10-02
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 2015-10-15
      • 2011-09-07
      • 2021-12-27
      • 1970-01-01
      相关资源
      最近更新 更多