如何将对象插入单元格?

时间:2012-12-22 08:43:13

标签: matlab insert cell-array

我用谷歌搜索但找不到任何东西,尽管我认为这是一般需要 我在Matlab中使用此函数将对象插入到单元格中:

function ce = insertInCell(ce,toInsert,idexx)
    ce = [ce(1:idexx-1,1); cellToInsert; ce(idexx:end,1);];
end 

我认为这个功能是这样的:
1st:通过复制ce(1:idexx-1,1)来创建新单元格 第二名:将cellToInsert添加到此新单元格中 3nd:复制并添加ce(idexx:end,1);到新单元

我想知道是否有更有效的方法来做到这一点?我的意思是一个只更新元素索引的函数(或者我错了,这个函数效率很高?)

感谢。

1 个答案:

答案 0 :(得分:1)

MATLAB不公开指针,因此您不能只更新索引(指针),除非您为此目的编写MEX文件。

您的代码中存在错误:在代码中,您引用变量cellToInsert,但在函数定义中,您只有toInsert

您的代码仅适用于垂直单元阵列。它不适用于水平单元阵列或n维单元阵列。对于垂直单元阵列,它适用于toInsert - > cellToInsert修复。

Bugfixed版本:

function ce = insertInCell(ce,cellToInsert,idexx)
    ce = [ce(1:idexx-1); cellToInsert; ce(idexx:end) ];
end