# MATLAB Program is Very Slow

• MATLAB
EngWiPy
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 $$\Phi^{(i,j)}$$ for i,j=1,2, where each matrix is of size N-by-N. The entries are given by:

$$[\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)$$

where

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

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

Staff Emeritus
Homework Helper
How big does N get?

What are f, C, and C*?

Last edited:
EngWiPy
How big does N get?

It goes as large as 1024.

Staff Emeritus