我有一个包含字符串和数字的结构。我可以强行将输入结构的每个元素复制到我的单元格数组中。当我尝试使用array-ish语法时,我得到“来自非单元格数组对象的单元格内容引用”错误。
这有效:
C1{3,2} = num(1,1);
C1{3,3} = num(2,1);
C1{3,4} = num(3,1);
C1{3,5} = num(4,1);
C1{3,6} = num(5,1);
但这不是(为什么?):
C1{3,:} = num2cell(num{:,1});
答案 0 :(得分:0)
引发错误的原因是您要为cell
数组编制索引,就好像要取消引用{}
数组(即使用()
而不是C1{3,:}
)一样不被允许。
在修复了引用问题之后,Matlab将抛出两个输出错误,因为语法()
导致分配左侧的comma-separated list扩展;使用cell
将cell
数组分配给C1(3,:)
数组。
之后,您会收到尺寸不匹配,因为1x6
5x1
不是num
的{{1}}。
如上所述,正确的分配是
C1(3,2:6) = num2cell(num(1:5,1).'); %'
转置.'
似乎没有必要,因为我的R2015a安装本身就是维度强制,但我喜欢明确说明。