微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

预分配嵌套元胞数组matlab

如何解决预分配嵌套元胞数组matlab

在 Matlab 中,我需要帮助预分配嵌套元胞数组并将其初始化为零。 问题描述: 例如,我有一个名为 bn 的数值元胞数组。此数组应按以下方式预分配:

bn{1,1} = 0
bn{1,2}{1,2} = 0

enter image description here

我还尝试借助图像来描述我的问题,假设我只有三个级别。实际上,我大约有三十个。

也许,使用 for 循环可以解决这个问题。但我没有足够的想象力:-( 所以,请高手帮帮我!

解决方法

评论中提出了一些有效的观点,认为这可能不是存储数据的最有效方式。然而,假设有一个特定的原因,你可以用一个简单的递归函数来生成它:

bn = createNode( 1,3 );

function node = createNode( currentLayer,maxLayer )
    if currentLayer == maxLayer
        node = {0,0}; % Bottom layer is just {0,0}
    else
        % Higher layers are {0,{sub-node}}
        node = {0,createNode( currentLayer+1,maxLayer )};
    end
end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。