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 件のコメント

Jan
Jan 2011 年 11 月 11 日
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?

サインインしてコメントする。

 採用された回答

Daniel Shub
Daniel Shub 2011 年 11 月 11 日

0 投票

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 件)

カテゴリ

ヘルプ センター および File Exchange で Random Number Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by