- #1
EngWiPy
- 1,368
- 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
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