Как оптимизировать матричное умножение в MATLAB? - PullRequest
0 голосов
/ 11 августа 2011

Можно ли как-нибудь оптимизировать эту формулу? Я оцениваю это много раз, и это занимает много времени ...

w - 1xN двойной

phis - NxN двойной

x - Nx2 двойной

сумма (w (единицы ([размер (x, 1) 1]), :). * Phis, 2)

1 Ответ

5 голосов
/ 11 августа 2011

Вы берете скалярное произведение каждого ряда phis с w. Вы можете сделать это легко, используя линейную алгебру.

out = phis * w';

Это матричное умножение сохраняет ваши звонки на sum, ones и size, что должно сделать ваш код намного быстрее Кроме того, операции линейной алгебры часто бывают очень быстрыми в Matlab, поскольку именно для этого программа исторически оптимизирована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...