randn
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi
If we declare two rows of random numbers
x = randn(2,100)
and
then use a for loop to move the numbers
for k=1:10
x = 1 0 * x
0 1
end for
This will spread the numbers from (0,0), right? But if I want the numbers to start from (10,10) and if they cross 20, reinitialize them again... is this possible?
If not with randn, can you suggest another solution?
1 Kommentar
Jan
am 11 Nov. 2011
Please post valid Matlab code to explain your problem. "for k=1:10 x = 1 0 * x 0 1 end for" is not clear.
What does "crossing 20" mathematically mean? The norm, the maximum, the minimum of the two components?
Akzeptierte Antwort
Daniel Shub
am 11 Nov. 2011
Your question is not really clear ... how about
x = mod(randn(2, 100)+10, 20)
You maybe you mean ...
x = 10*randn(2, 100)+10;
while any(x(:) > 20)
x(x(:) > 20) = 10*randn(sum(x(:) > 20), 1)+10;
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!