I found a way to do it. I spent most of the time to calculate bessel functions which are inside of my func1,func2 etc.My code runs for 5 min. But, if I calculate all bessel function and assign it to a matrix, then my code runs 45 sec. I use again 2 for loops. But, calculation is now faster.
Utilizing Matlab for 2 "for loop" calculation
1 次查看(过去 30 天)
显示 更早的评论
Hi
I have two for loops, in which I am calculating my functions. I call many function inside of it and results of those functions are 2x2 matrices. Ex:
for m = 1:100
for n = 1:500
func1Result = func1(m,n,...); % Result is a 2x2 matrix
func2Result = func2(m,n,funct1Result..); %Result is a 2x2 matrix
..
Result1 = funcxResult1*funcxResult2*...;
...
end
end
However, the code is not efficient as I have 2 for loops. I want to utilize Matlab's linear operation advantage. However, I could not come up a solution about it. How can I do that so that I can fasten my computation?
Regards
0 个评论
采纳的回答
更多回答(1 个)
dpb
2014-6-29
Presuming only the last result is actually needed...
[x y]=meshgrid(1:M,1:n);
result=func2(x,y,func1(x,y));
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!