How to construct a loop that changes matrix dimensions?

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 comentarios

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..
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.

Iniciar sesión para comentar.

Respuestas (1)

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}

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Versión

R2019a

Preguntada:

el 27 de En. de 2021

Respondida:

el 28 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by