Умножение клеток со временем - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть два набора матриц в качестве ячеек, помеченных A и B.

Общая проблема для справки:

У меня есть 5 ячеек матрицы A (каждая из которых состоит из 9x9матрица) и 20 из B (которые также состоят из матрицы 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 итераций.Поэтому я использую A {1} (:,:, 1) для данных в ячейке A {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);

Ура за вашу помощьребята.

1 Ответ

0 голосов
/ 30 ноября 2011

Вы, вероятно, хотите выполнить поэлементное умножение, используя .* вместо *.В вашем примере с циклом вы можете не заметить, что вы на самом деле выполняете умножение матриц, поскольку ваши матрицы квадратные в определенное время и код не возвращает никакой ошибки.

...