gpt4 book ai didi

matlab - 从单元格数组中的每个单元格中提取特定元素

转载 作者:太空宇宙 更新时间:2023-11-03 20:25:27 24 4
gpt4 key购买 nike

我有一个元胞数组 A尺寸10x10 (说)。每个单元格又包含一个 5x20矩阵。我要选择 (i,j)来自每个单元格的元素,其中 (i,j)是循环中的索引。我可以运行 4 for循环并轻松获得答案。它可能甚至更快,因为已经多次讨论过循环可能比 cellfun、structfun 等更快。

不过,有没有使用 cellfun 的解决方案?我可以在循环中使用 (i,j)并提取 (i,j)每个单元格中的元素?我尝试编写一个函数来充当 cellfun 的句柄但我无法访问两个级别,即 A{eachCellRow,eachCellCol}(i,j) .

例子:如果A={[1 2;5 6], [3 4; 6 7]; [3 4; 6 7], [9 8; 5 6]};

然后为 i=1, j=1 and i=2, j=1输出应该是:

B=[1 3; 3 9] and B=[5 6; 6 5]

最佳答案

CELL2MAT将仅包含数值数据的元胞数组中的所有数据放入数值数组中。所以,这对我们有帮助。对于您原来的问题,试试这个 -

celldim_i = 10;
celldim_j = 10;

block_size_i = 5;
block_size_j = 20;

search_i = i; %// Edit to your i
search_j = j; %// Edit to your j

A_mat = cell2mat(A);
out = A_mat(search_i+block_size_i*(0:celldim_i-1),search_j+block_size_j*(0:celldim_j-1))

关于matlab - 从单元格数组中的每个单元格中提取特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com