2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 [Matlab] Оптимизация кода
Сообщение11.05.2013, 10:51 


08/03/12
60
Здравствуйте.

Написал код в Matlab, где надо вычислять начальные моменты матрицы $G = [g_1,g_2,...,g_m]$, где $g_i$ - столбцы. Для этих столбцов необходимо вычислить такую штуку:

Код:
K = zeros(m,m,m,m);
for l = 1:m
    for k = 1:m
        for i = 1:m
            for j = 1:m
                K(i,j,k,l) = sum(g(:,i) .* g(:,j) .* g(:,l) .* g(:,k));
            end
        end
    end
end


Можно это как-то векторизировать, так как работает медленно для больших векторов $g$? Спасибо!

 Профиль  
                  
 
 Re: [Matlab] Оптимизация кода
Сообщение06.08.2013, 09:25 
Экс-модератор
Аватара пользователя


23/12/05
12064
1) Вероятно, вместо поэлементного перемножения быстрее будет отрабатывать prod()
2) Конечно, можно потом и векторизировать - главное не запутаться в порядке индексов. Честно говоря, отлаживать с четырёхмерным массивом лень
3) Не используйте в качестве индексов $i, j$ (они зарезервированы для мнимой единицы) и $l$ - она визуально неотличима от $1$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group