How to construct a loop that changes matrix dimensions?

6 Ansichten (letzte 30 Tage)
Lara Miranda
Lara Miranda am 27 Jan. 2021
Beantwortet: Matt J am 28 Jan. 2021
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 Kommentare
Matt J
Matt J am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 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}

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by