Help me to optimise or vectorize the code

2 views (last 30 days)
SammyNHarry
SammyNHarry on 28 Jan 2014
Edited: Patrik Ek on 28 Jan 2014
Hi
Here is a snippet of the code below. I wonder if there is anything else that the code can be optimised or vectorized especially between line 2 to line 5?
1 outSignal = y11.*-d11-y12.*d12+x11.*n11+ x12.*n12;
2 y12 = y11(:);
3 y11 = outSignal(:);
4 x12 = x11(:);
5 x11 = inSignal(:);
6 output = outSignal(:);
I would be greatly appreicated if you can offer me suggestion.
  1 Comment
Patrik Ek
Patrik Ek on 28 Jan 2014
Edited: Patrik Ek on 28 Jan 2014
May I ask what you are doing here? The operator that you use is an inbuilt operator and I doubt that there are any faster way to do the same operation. That would only be a marginal difference anyway.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 28 Jan 2014
The (:) operator is one of the fastest operations in MATLAB, as all it needs to do is create a new header and increment the usage count (for copy-on-write purposes): in particular, the data block pointer is copied without needing to copy or duplicate the data itself. All that is being changed is the header indicating how the data is organized, not the data itself.

Community Treasure Hunt

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

Start Hunting!