0

我正在使用一个程序,我需要访问存储在单元格中的数据,但我无法弄清楚这一点。这是我所知道的:

有五个矩阵,X1,X2,...,X5。创建一个单元格,C={X1 X2 ... X5} 接下来我们为 i,j=1:5 创建乘法表 c{i,j}=C{i}*C{j} 所以 c{i, j} 是一个 5×5 单元格。最后,通过修改每个单元格 c{i,j} 来创建 cx{i,j}。cx{i,j}的每个元素由c{i,j}的每个矩阵元素的前两行组成,像这样,cx{i,j}={c{i,j}(1,:) c{i,j}(2,:)}

所以 cx{i,j} 是一个 5 x 5 的单元格。我希望能够在 MATLAB 中输入 cx{i,j} 并获得数值,但我只获得了单元结构。我试过 [cx{i,j}] 但这不起作用。什么命令允许我获取数值?谢谢。

4

1 回答 1

1

问题:

>> cx{i,j} = {c{i,j}(1,:) c{i,j}(2,:)}

创建一个1x2包含两个1x5向量的单元格。它不是5x5矩阵。

可能的解决方案:
您可以cx{i,j}通过以下方式创建

>> cx{i,j} = [ c{i,j}(1,:) ;c{i,j}(2,:) ]

请注意创建.的方括号[和分号。 现在,是一个矩阵,只需键入即可访问和查看。;cx{i,j}
cx{i,j}2x5cx{i,j}

几点评论

  • 对于这些类型的问题(以及许多其他问题),最好使用 Matlab 的调试器来查看到底发生了什么。

  • 最好不要在 Matlab中使用iandj作为变量名。

于 2013-07-17T05:31:45.280 回答