2D Random path within a unit square
古いコメントを表示
Hi all, I want to generate a random path within a unit square and get the x,y coordinates of n=1000 points on it. start point and the end point can be picked up from the vertices of the unit square, i.e, (0,0), (0,1),(1,0),(1,1).
The code I have up to now is given as follows. But it does not restrict the path to lie inside the unit square. How can I solve this?
n=1000;
mypath = rand(n,2);
xp=mypath(:,1);
xp_s=cumsum(xp);
yp=mypath(:,2);
yp_s=cumsum(yp);
plot(xp_s,yp_s)
回答 (2 件)
Andrei Bobrov
2017 年 5 月 21 日
編集済み: Andrei Bobrov
2017 年 5 月 21 日
n=1000;
mypath = rand(n,2);
m = cumsum(mypath);
mout = m./m(end,:); % MATLAB >= R2016b
mout = bsxfun(@rdivide,m,m(end,:)); % MATLAB < R2016b
Image Analyst
2017 年 5 月 21 日
0 投票
I have a number of random walk demos and I've attached them. Feel free to use them however you wish.
2 件のコメント
KalMandy
2017 年 5 月 21 日
Image Analyst
2017 年 5 月 22 日
In your loop, simply don't add the next random step if it would take you outside the unit box. Just get another step instead.
カテゴリ
ヘルプ センター および File Exchange で Uniform Distribution (Continuous) についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!