我用谷歌搜索但找不到任何东西,尽管我认为这是一般需要 我在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);到新单元
我想知道是否有更有效的方法来做到这一点?我的意思是一个只更新元素索引的函数(或者我错了,这个函数效率很高?)
感谢。
答案 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