2011-11-30 52 views
0

我有两套矩阵作为细胞标记为A和B.繁殖细胞随着时间的推移

供参考的一般问题:

我具有矩阵A的5个细胞(其中的每一个由9×9的矩阵)和B中的20个(它们也是由9x9矩阵组成)。

我仍然在试图找到一种方法,只是让他们进入以下模式:

A{1} B{1} B{2} B{3} B{4} 
B{5} A{2} B{6} B{7} B{8} 
B{9} B{10} A{3} B{11} B{12} 
B{13} B{14} B{15} A{4} B{16} 
B{17} B{18} B{19} B{20} A{5} 

这更大的矩阵重复随着时间的推移:让我们说5次迭代。 (:,:,1)小区A中的数据{1}在时间1

* 我的问题是我遇到: *

所以我使用的是{1}引用

虽然这部作品在循环与

for j=1:t 
    A{1}(:,:,j+1) = B{1}(:,:,j)*A{1}(:,:,j) 
end 

为什么没有了以下工作?

A{1}(:,:,2:t)=B{1}(:,:,1:t-1)*A{1}(:,:,1:t-1); 

为您的帮助干杯干杯。

回答

0

您可能想要使用.*而不是*来进行元素相乘。在你的循环例子中,你可能没有注意到你实际上在做矩阵乘法,因为你的矩阵在特定时间是方形的,并且代码不会返回任何错误。

+0

我想在A和B之间进行矩阵乘法。B实际上是每个单元格的维代码(9,1)中的一个向量。因为我不能让2:t的工作,我不得不改变我的代码的其余部分:(感谢您花时间,但:)) – Tetra

+1

然后,为什么不使用'for j = 1:t-1'为循环?它不应该创造额外的时间。 – yuk

+0

啊,是的,自从发布这个问题后我做了这些,但我想避免使用循环。 – Tetra