More efficient dot product function.

28 ビュー (過去 30 日間)
Andrew
Andrew 2013 年 7 月 1 日
Hello,
I am just wondering if anyone knows a more efficient function than the dot from MATLAB. I am running a very robust simulator that needs to compute over 3 million dot products (and possibly even more for different cases) throughout the course of the simulation. This leads to the dot products taking up the second most amount of time out of the many functions called by the simulator. I suspect that a lot of the time spent in the dot function is being wasted checking to make sure the vectors are properly sized.
Thanks for your help!
  1 件のコメント
James Tursa
James Tursa 2013 年 7 月 1 日
How big are your vectors?

サインインしてコメントする。

採用された回答

Hugo
Hugo 2013 年 7 月 1 日
Are you using the function dot(x,y) ?
If that's so, better use
x'*y (assuming that x and y are column vectors)
In my computer, x'*y is twice faster than sum(x.*y) and twenty times faster than dot(x,y). Good luck.
  1 件のコメント
Andrew
Andrew 2013 年 7 月 1 日
Thanks, I was considering that but wasn't entirely sure about it!

サインインしてコメントする。

その他の回答 (1 件)

Shashank Prasanna
Shashank Prasanna 2013 年 7 月 1 日
BSXFUN is the most efficient way to do element wise dot operations:

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by