Borrar filtros
Borrar filtros

How to Save the outputs of my for loop?

1 visualización (últimos 30 días)
cestcandice
cestcandice el 19 de Abr. de 2017
Comentada: cestcandice el 19 de Abr. de 2017
I have this code:
x=1:10;
for i=1:length(x);
y=rand(i)
end
which is doing what I want to, but it's not saving the answers in my workspace, so I tried this:
x=1:10;
for i=1:length(x);
y(i)=rand(i)
end
But that comes out with an error that says, "In an assignment A(:) = B, the number of elements in A and B must be the same."
Thanks for the help..

Respuesta aceptada

James Tursa
James Tursa el 19 de Abr. de 2017
Editada: James Tursa el 19 de Abr. de 2017
rand(i) is going to create a different sized matrix for each iteration, namely a square matrix of size i x i. That's why you are getting the error. If this is really what you want, then you can use cell arrays. E.g.,
y{i} = rand(i);
If you are just trying to generate a single random number for each iteration, then
y(i) = rand;
Or in the latter case you could just get rid of the loop entirely with:
y = rand(size(x));

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by