Как бы так векторно записать на Матлабе...?

Rozarioagro

Есть матрица a 2х2хN.
2х2 - четыре значения в один момент времени. По 3 измерению - изменяется время.
Есть матрица b такая же.
Как в векторной записи умножить каждую из а(:,:,k) на b(:,:,k) матрично и результат в матрицу с.
Пока что у меня получается только цикл
-------------------
c = zeros (2,2,N)
for k = 1:N
c(:,:,k) = а(:,:,k) * b(:,:,k)
end
-----------------
Это конечно же, не дело. Надо вектрно. Может кто умеет это лучше меня?

Mystery-s

А если составить векторы из матриц "a" и матриц "b". А их потом перемножать?

petr1

Если ты имел ввиду cell array, то я уже проверил - не работает. Хотя такое представление в данном случае нагляднее. Но совсем без цикла, имхо, не обойтись.

Rozarioagro

По какому измерению составить? То есть ты предлагаешь составить из одной матрицы 2х2хЭн четыре вектора 1х1хЭн?
Это без мазы, так как тогда само матричное умножение не используется. Какую нибудь хитрую индексовую операцию я, видимо, не знаю, если она есть, конечно.

petr1

если я правильно понял, то предлагается сделать cell array: a{1,k}
вот тебе пример
___________________
>> a
a =
[2x2 double] [2x2 double]
>> a{1,:}
ans =
1 3
4 2
ans =
1 0
0 1
___________________

petr1

а почему цикл не устраивает?

Rozarioagro

Для Матлаба циклов надо избегать. Особенно когда в воздухе витает векторная возможность. Это написано в моей книжке по Матлабу, и недавно я проверил это на своей шкуре, когда векторная запись считалась пару секунд, а цикловая - пару минут. Считали они одно и то же.
Ячейки я делать не буду, в лом, лучше циклы оставить. Не всю получается сделать идеальным.

CHYDO

еще при написании программы неплохо руководствоваться принципом KISS - Keep It Simple Stupid, пусть немного потеряешь в быстродействии, зато потом, взглянув через полгода на свой код, сможешь сказать что он делает.

Rozarioagro

Мдя, хороший принцип, но это ведь Матлаб. Это не совсем программирование. То есть это просто сценарий, скрипт.
У меня в комментариях описана каждая переменная и её размерность, откуда следует, что векторная запись в определённых случаях может быть нагляднее. Тем более это всё равно линейная алгебра.
Оставить комментарий
Имя или ник:
Комментарий: