How to construct a loop that changes matrix dimensions?

1 view (last 30 days)
So, I've created a 10x10 matrix using a for loop. But now, using the same formula for each component that I had inside the loop, I need to make another loop that calculates new matrices with other 9 dimensions (10x100, 100x100, 1000x10, and so on.) I had no idea how to do this first loop withoit initializing the matrix with a known size, so now I'm stuck as to how to keep going. Any help/tips would be appreciated, I'm very new to MATLAB
  2 Comments
Matt J
Matt J on 27 Jan 2021
I had no idea how to do this first loop withoit initializing the matrix with a known size
You should do this all the time. Maybe if you post your code, we could see why you think doing so creates difficulties..
Lara Miranda
Lara Miranda on 27 Jan 2021
I have first M=zeros(10,10);
Then, I made a for loop saying for i=1:10, for j=1:10, and inside them added the equation (e.g M(i,j)= i/j)
Now I'm wondering what I could do to create a loop that changes the dimensions such that I get 9 different sized matrices changing the value of i and j each time.

Sign in to comment.

Answers (1)

Matt J
Matt J on 28 Jan 2021
For example,
I={2,4,6};
J={3,5,7};
Matrices=cell(3,3);
for m=1:numel(I)
for n=1:numel(J)
Matrices{m,n}=(1:I{m})./(1:J{n}).';
end
end
Matrices
Matrices = 3x3 cell array
{3×2 double} {5×2 double} {7×2 double} {3×4 double} {5×4 double} {7×4 double} {3×6 double} {5×6 double} {7×6 double}

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!