How to Save the outputs of my for loop?

1 Ansicht (letzte 30 Tage)
cestcandice
cestcandice am 19 Apr. 2017
Kommentiert: cestcandice am 19 Apr. 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..

Akzeptierte Antwort

James Tursa
James Tursa am 19 Apr. 2017
Bearbeitet: James Tursa am 19 Apr. 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));

Weitere Antworten (0)

Kategorien

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

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by