Low computation efficiency of simple sentence in MATLAB

1 view (last 30 days)
Albert on 20 Oct 2016
Edited: Thorsten on 21 Oct 2016
Hi, everyone
I have an computation efficiency problem here, I wish someone could help me out.
here is part of my MATLAB code (the actual code is much bigger than the following):
How come that the last sentence in above code is running so slow, which accounts for 35% total running time? Actually my code is much bigger than the above and there are more complicated computation, but why such a short and concise computation takes so much time?
Is there any better way to improve computation efficiency?
Also the line numbers in my MATLAB (2016a and 2016b) would disappear after a while, if I relaunch the software, the line number would come back. Is this an intrinsic bug in MATLAB? How can I fix it?
Greatly appreciate your help
Thank you
Albert Liew

Accepted Answer

Thorsten on 20 Oct 2016
Edited: Thorsten on 21 Oct 2016
Instead of
X = repmat(lambda_old1,1,4).*[W1(:,i),W3(:,i),W2(:,i),W4(:,i)];
if might be faster to use
X = bsxfun(@times, [W1(:,i),W3(:,i),W2(:,i),W4(:,i)], lambda_old1);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!