Clear Filters
Clear Filters

How to speed the code? It does not want to end processing!!!!

5 views (last 30 days)
R = length(lambda) ;
Unrecognized function or variable 'lambda'.
T = size(X,2) ;
time_dmd = zeros(T-1,R);
for iter = 1:T-1
for p = 1:R
time_dmd(iter,p) = b(p)*(exp(omega(p)*t(iter)));
Xdm(:,iter,p) = real(Phi(:,p)*(b(p).*exp(omega(p)*t(iter))));
end
end
  1 Comment
DGM
DGM on 29 Jun 2023
Edited: DGM on 29 Jun 2023
Well I can see a few obvious problems, but the most obvious problem is that that this isn't even complete code.
It's a bit hard to troubleshoot something If it's unknown what size anything is or if the code even works.

Sign in to comment.

Answers (1)

DGM
DGM on 29 Jun 2023
Edited: DGM on 29 Jun 2023
Here's my guess.
% assuming b,omega,t are all row vectors
% width of Phi is equal to length of b,omega
time_dmd = b.*exp(omega.*reshape(t(1:end-1),[],1))
Xdm = permute(Phi,[3 2 1]).*time_dmd;
Xdm = real(permute(Xdm,[3 1 2]));
  2 Comments
Steven Lord
Steven Lord on 29 Jun 2023
What is the size and class of the variable x that you load from your MAT-file? You can display this information using the whos function.
x = magic(4);
whos x
Name Size Bytes Class Attributes x 4x4 128 double

Sign in to comment.

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!