Matlab 分配到单元格数组中的数组
假设我有两个电池阵列a,b: 如何将b中的每个单元格分配到a中每个单元格的第二行?只要有一个循环:Matlab 分配到单元格数组中的数组,matlab,cell-array,Matlab,Cell Array,假设我有两个电池阵列a,b: 如何将b中的每个单元格分配到a中每个单元格的第二行?只要有一个循环: for i=1:size(a,2) a{i}(2,:) = b{i} end 如果a和b较小,则可以使用: 这是在回答我的问题,但考虑到我问的是一个最小的问题,它能解决k=1:50的情况吗?虽然我真诚地认为你应该做一个简单的循环,但我对eval解决方案感觉不好,但你可能对循环解决方案是正确的。我只是想表明这是一个选择。我个人认为,除了这个或循环,没有其他选择。我不认为你会找到一个不同的“
for i=1:size(a,2)
a{i}(2,:) = b{i}
end
如果a
和b
较小,则可以使用:
这是在回答我的问题,但考虑到我问的是一个最小的问题,它能解决k=1:50的情况吗?虽然我真诚地认为你应该做一个简单的循环,但我对eval解决方案感觉不好,但你可能对循环解决方案是正确的。我只是想表明这是一个选择。我个人认为,除了这个或循环,没有其他选择。我不认为你会找到一个不同的“魔术”一行。在这种情况下,将内容分配给逗号分隔的输出是很棘手的。我会非常谨慎地建议
eval
,尤其是在没有任何警告的情况下。请参阅和其中的参考资料,了解尽可能避免使用的原因。要点是:由于禁用JIT,很难调试错误和执行缓慢。如果我的解决方案对您有效,您能接受吗?我非常感谢您的努力,但它对我无效。我对你的评论投了赞成票……你能澄清一下你所说的不起作用的意思吗?
for i=1:size(a,2)
a{i}(2,:) = b{i}
end
[a{1}(2,:) a{2}(2,:) a{3}(2,:)] = deal(b{:});