我正在使用一个程序,我需要访问存储在单元格中的数据,但我无法解决这个问题。这就是我所知道的:
有五个矩阵,X1,X2,......,X5。 创建一个单元格,C = {X1 X2 ... X5} 接下来,我们为i创建乘法表c {i,j} = C {i} * C {j},j = 1:5 所以c {i,j}是一个5by5的单元格。 最后,通过修改每个单元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乘5的单元格。我希望能够在MATLAB中键入cx {i,j}并获取数值,但我只是得到了单元结构。我试过[cx {i,j}],但这不起作用。什么命令允许我获取数值?谢谢。
答案 0 :(得分: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}
是一个2x5
矩阵,只需输入cx{i,j}
即可访问和查看。
一些评论
对于这些类型的问题(以及许多其他问题),最好使用Matlab的调试器来确切了解发生了什么。