gpt4 book ai didi

matlab - 将 2 行合并到一个元胞数组中

转载 作者:行者123 更新时间:2023-12-02 15:38:31 28 4
gpt4 key购买 nike

我的元胞数组中有许多行,行末尾有很多额外的空间,如下所示:

'a' 'b' 'c' 'd' [] [] [] [] []
'1' '2' '3' [] [] [] [] [] []
'w' 'x' 'y' 'z' [] [] [] [] []

我想将第二行复制到第一行的末尾,如下所示:

'a' 'b' 'c' 'd' '1' '2' '3' [] []
'1' '2' '3' [] [] [] [] [] []
'w' 'x' 'y' 'z' [] [] [] [] []

请注意,上面给出的代码是一个任意示例,用于演示我希望执行的操作。实际上,我会将此功能作为更复杂函数中的一个步骤包含在内。

我尝试在元胞数组行中搜索第一个空元素,但由于某种原因 isempty 不会将它们视为空。有人可以指出我的替代方法吗?

编辑:执行上述步骤后,第二行将被删除,给出:

'a' 'b' 'c' 'd' '1' '2' '3' [] []
'w' 'x' 'y' 'z' [] [] [] [] []

尽管真实的元胞数组的行数会多于 3 行。

最佳答案

我认为这符合你的要求。我已将您的元胞数组表示为 c

n1 = find(cellfun('isempty',c(1,:)), 1); %// first empty cell in row 1
n2 = find(cellfun('isempty',c(2,:)), 1); %// first empty cell in row 2
c(1,n1:n1+n2-2) = c(2,1:n2-1); %// copy the relevant part of row 2 onto row 1

如果第 2 行中的非空单元格数量超过第 1 行中的空单元格数量,这会自动水平扩展单元格。

示例:输入:

c = {'a' 'b' 'c' 'd' [] [] [] [] []
'1' '2' '3' [] [] [] [] [] []
'w' 'x' 'y' 'z' [] [] [] [] []}

输出:

c = 
'a' 'b' 'c' 'd' '1' '2' '3' [] []
'1' '2' '3' [] [] [] [] [] []
'w' 'x' 'y' 'z' [] [] [] [] []

关于matlab - 将 2 行合并到一个元胞数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27126902/

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