Matrix Multiplikation Speed Up

Hello, I would like to speed up this code, any sugestions
Rm, Zm and Cm are 1700x1700
f = linspace(1e3,5e6,750); % Hier gibt man den Frequenzbereich an
w = 2*pi*f';
parfor k=1:length(f)
Zm = Rm+w(k)*1i*Lm;
Gama = Kk*(Zm\Kkt);
YYn = w(k)*1i*Cm + Gama;
Zn = inv(YYn);
Amp(k) = abs(1-Zn(jj,1)/Zn(1,1));
end
I do not have a GPU

4 Comments

Joss Knight
Joss Knight on 16 Aug 2019
Edited: Joss Knight on 16 Aug 2019
What is Kkt? What is jj?
Sorry I forgot to mention what Kk, KKt and jj are. Kk ist an transformations Matrix, and Kkt = Kk', jj is the index of an outer for loop.
a = 1700
Kk=eye(a);
for i=1:(a-1)
Kk(i+1,i)=-1;
end
this little pice of code describes how Kk is built, but the Kk is built only once and is the used over and over again.
Sorry, nothing occurs to me. You take the trouble to invert YYn but then only use a single row of it, so maybe you could focus on that piece of algebra.

Sign in to comment.

Answers (0)

Categories

Products

Release

R2019a

Asked:

on 16 Aug 2019

Commented:

on 21 Aug 2019

Community Treasure Hunt

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

Start Hunting!