MATLAB Program is Very Slow

  • MATLAB
  • Thread starter EngWiPy
  • Start date
  • #1
1,367
61
Hello,

I have a MATLAB code that contains a lot of for loops, and hence it is very slow, and takes hours and hours to get just initial results, which is very inefficient. I know writing the program in terms of vectors will fasten the process, however, I do not know how to write my program that way, and I hope one of you guys will help me.

Basically, I need to find four matrices [tex]\Phi^{(i,j)}[/tex] for i,j=1,2, where each matrix is of size N-by-N. The entries are given by:

[tex][\Phi^{(i,j)}]_{k,m}=C_i^*(f_k)C_j(f_m)\exp\left(j\pi\vartheta_{k,m}^{(i,j)}\right)sinc\left(\vartheta_{k,m}^{(i,j)}\right)[/tex]

where

[tex]\vartheta_{k,m}^{(i,j)}=f_ma_i-f_ka_j+\frac{m-k}{T},\,\,\,k,m=0,1,\ldots,N-1[/tex]

How can I do that in vector form, with the least number of for loops?

Thanks in advance
 

Answers and Replies

  • #2
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,668
How big does N get?

What are f, C, and C*?
 
Last edited:
  • #4
SteamKing
Staff Emeritus
Science Advisor
Homework Helper
12,796
1,668
What are f, C,and C*?
 
  • #5
1,367
61
What are f, C,and C*?
It is enough I guess if you consider f as a vector of size N-by-1. So, C is also a vector of size N-by-1. The * means complex conjugation. Also consider a1 and a2 as any numbers, it doesn't matter.
 

Related Threads on MATLAB Program is Very Slow

Replies
1
Views
6K
Replies
3
Views
1K
Replies
7
Views
917
Replies
7
Views
3K
Replies
0
Views
905
Replies
10
Views
15K
  • Last Post
Replies
0
Views
1K
  • Last Post
Replies
5
Views
3K
Top