For Loop /Array question

3 views (last 30 days)
Tyler Young
Tyler Young on 3 Feb 2020
Commented: Tyler Young on 4 Feb 2020
How would i go about creating a for loop to create an array where each value in X is equal to its associated row value * 2 plus its associated column value * 3 +1. Size of array is 50x50 ?
  2 Comments
Tyler Young
Tyler Young on 4 Feb 2020
I know how to write simpler for loops where I can identify a "start" point for my indx and run through a simple array or vector to "end" but Im struggling to comprehend how to build the value of this equation.

Sign in to comment.

Accepted Answer

Hiro
Hiro on 4 Feb 2020
How about this?:
X = zeros(50, 50);
[m, n] = size(X); % m x n = 50, 50
for i = 1:m % Row
for j = 1:n % Column
X(i, j) = i * 2 + j * 3 + 1;
end
end
(m, n) could be anytihng.
The point here is size function. Good luck!
  1 Comment
Tyler Young
Tyler Young on 4 Feb 2020
Thank you, that does work, and helps to see it done that way too. I ended up going about it differently, but I was orginally thinking of using "zeros"
for row = 1:1:50
for col = 1:1:50
X(row,col) = [row * 2 + col * 3 + 1]
end
end

Sign in to comment.

More Answers (1)

KSSV
KSSV on 4 Feb 2020
Check the below deom code where each element of a matrix is sum of its row and column position. Extend this to your case.
m = 5 ; % number of rows
n = 5 ; % number of columns
iwant = zeros(m,n) ; % initialize the required matrix
% loop
for i = 1:m % loop for row
for j = 1:n % loop for column
iwant(i,j) = i+j ; %(i,j)th element is sum of i and j
end
end
  1 Comment
Tyler Young
Tyler Young on 4 Feb 2020
Thank you, appreciate the multiple ways of seeing this done.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by