How can I faster matrix multiplication

3 views (last 30 days)
Paul
Paul on 26 Feb 2020
Edited: KALYAN ACHARJYA on 27 Feb 2020
Hello, first time here to ask
I have a 3 by 3 matrix, say G. And I also have a row vector, R.
What I need is finding R * G * R.'
but it is running very slow.
It used around 84.5s to have it call 26800 times.
Is that normal? Or how can I speed up since I have to do it inside a nested for loop?
I am currently using matlab R2019b version.
Thank you!
  4 Comments
James Tursa
James Tursa on 26 Feb 2020
So R is 1x3 and changing each iteration?
Paul
Paul on 26 Feb 2020
yes
G = [...; ...; ...]
for a=0 to 5
for b = 0 to 5
for c = 0 to 5
R= [a b c];
R*G*R.'
end
end
end

Sign in to comment.

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Feb 2020
Edited: KALYAN ACHARJYA on 27 Feb 2020
Is it simmilar?
G=[-0.00101584090085100 -0.0373729264800720 0.00786581385357300
-0.0373729264800720 -0.284509289498308 0.0752540345065320
0.00786581385357300 0.0752540345065320 -0.0158385837800100];
tic
result=cell(1,26800);
for i=1:26800
R=randi(10,[1,3]); % or Call the R here
result{i}=R*G*R';
end
toc
#
Elapsed time is 0.194492 seconds. (Measuring Elapsed Time Using tic and toc)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!