randn

6 views (last 30 days)
PChoppala
PChoppala on 11 Nov 2011
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 Comment
Jan
Jan on 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?

Sign in to comment.

Accepted Answer

Daniel Shub
Daniel Shub on 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

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!