【发布时间】:2014-11-25 23:21:27
【问题描述】:
我在一个单元格数组中有很多行,行尾有很多额外的空间,如下所示:
'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 行。
【问题讨论】:
-
在您的实际情况下,您只需要在第一行末尾复制第二行,还是我们也必须处理更多行?第二行和第三行以及其余行(如果有)会发生什么?他们会保持原样吗?
-
我只需要将一行添加到另一行。在此之后,第二行将被删除。不会有我需要向另一行添加多个行的情况(即,将第 2 行和第 3 行都添加到第 1 行)。
-
那么,如果要删除第二行,输出元胞数组会是什么样子?问题中所述的所需输出仍显示第二行。编辑您对所需输出的问题以澄清这一点?那么第三行会发生什么?
-
我已经编辑了这个问题。我最初没有包含此信息,因为我认为它与问题无关。
-
顺便问一下my solution 有什么错误吗?如果没有,在解决方案结束时,您可以使用
C(2,:) =[];? 删除第二行?
标签: matlab cell-array