我有一些代码,用于将一个字符串的单元数组转换为一个字符的单元数组。
注意:由于多种原因,输入(C)和输出(C_itemised)都必须是单元格数组。
字符串的单元格数组(C)如下:
>> C(1:10)
ans =
't1416933446'
''
't1416933446'
''
't1416933446'
''
't1416933446'
''
't1416933446'
''
我这里只显示了数组的部分内容,实际上它有大约28,000行。
我有一些代码可以实现此功能,但效率不高。当前,cellstr函数被调用数千次,它占据了代码时间的72%。代码如下:
C_itemised=cell(length(C),500);
for i=3:length(C)
temp=char(C{i});
for j=1:length(temp)
C(i-2,j)=cellstr(temp(j));
end
end
我有一种感觉,通过一些小的修改可以消除内部循环,从而大幅减少总运行时间。我已经尝试了许多方法,但是我想我一直在困惑是否要使用{}还是(),并且没有找到任何在线帮助。有人能看到使代码更有效率的方法吗?
请注意,此函数与其他函数一起使用,并且可以工作,尽管它的运行速度比理想情况下要慢。因此,我不希望改变的格式。
编辑: (我的当前函数的示例)输出为:
C_itemised(1,1:12)
ans =
Columns 1 through 12
't' '1' '4' '1' '6' '9' '3' '3' '4' '4' '6' []