randn
4 ビュー (過去 30 日間)
古いコメントを表示
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
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
2011 年 11 月 11 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!