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

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)

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

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
It's not complete. You didn't attach 'model11.mat'

Sign in to comment.

Categories

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

Tags

Asked:

on 28 Jun 2023

Commented:

on 29 Jun 2023

Community Treasure Hunt

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

Start Hunting!