小编nik*_*nik的帖子

使用基于索引MATLAB的元素填充单元格数组

我有一个*m单元阵列Cell_In:

a b
* *
* *
c *
* d
* *
* f
Run Code Online (Sandbox Code Playgroud)

* - >表示空字符串('').这就是我需要的:

a b
a b
a b
c b
c d
c d
c f
Run Code Online (Sandbox Code Playgroud)

对于特定列,我需要用前一个非空单元格填充空单元格,直到找到另一个非空单元格.以下是我写的代码.

b = ~cellfun(@isempty,a);
c = [find(b(:,1) == 1);size(a,1)+1]; e = diff(c);
d = [find(b(:,2) == 1);size(a,1)+1]; f = diff(d);
s1 = ''; s2 = '';
for i = 1:length(e)
    s1 = [s1,repmat(a(c(i),1),1,e(i))];
end

for i = 1:length(f)
    s2 = [s2,repmat(a(d(i),2),1,f(i))];
end
Cell_Out = [s1',s2'];
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我想知道最好的解决方案?

matlab cell-array

1
推荐指数
1
解决办法
1112
查看次数

标签 统计

cell-array ×1

matlab ×1