MATLAB Answers

For loop within for loop

30 views (last 30 days)
DARLINGTON ETAJE
DARLINGTON ETAJE on 8 Aug 2019
Answered: Jos (10584) on 9 Aug 2019
Please help me out. This code isn't working...
qq=8:10008;
for m = 1:9
for n = 1:10001
A(m, n) = (m+n)+qq;
end
end
I just want answer for A
  3 Comments
Alex Mcaulley
Alex Mcaulley on 9 Aug 2019
You can do it without loop. For example:
qq = 8:10008;
n = 1:10001;
m = 1:9;
[X,Y] = meshgrid(qq + n,m)
A = X + Y;
If you use the loops, at least preallocate your array A to minimize the execution time:
qq = 8:10008;
A = zeros(9,10001);
for m = 1:9
for n = 1:10001
A(m, n) = (m+n)+qq(n);
end
end

Sign in to comment.

Answers (1)

Jos (10584)
Jos (10584) on 9 Aug 2019
In recent ML versions there is no need for meshgrid or so. The plus syntax will expand the vectors :-)
% a smaller example
n = 1:11
m = 1:4
q = 8:18
A = m' + n + q

Community Treasure Hunt

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

Start Hunting!