필터 지우기
필터 지우기

Plotting random points in matlab

조회 수: 2 (최근 30일)
Aftab Ahmed Khan
Aftab Ahmed Khan 2014년 6월 18일
댓글: Star Strider 2014년 6월 18일
Hello everyone, I have this figure which is shown below. I am getting a certain pattern of points every time i run my simulation. I mean, although the points are different every time but there is always some pattern in these points. Why is this, i don't know.
  댓글 수: 6
Aftab Ahmed Khan
Aftab Ahmed Khan 2014년 6월 18일
Then why i am not getting something like this. I am again using the rand function.
Star Strider
Star Strider 2014년 6월 18일
That is because xx and yy are scaled, so that the radius component is always on the interval (0,r) and the quadrant is defined by the sign of the sin and cos (respectively) of different random numbers, this time on the interval (0,2*pi), so those parts of the calculation are defined on the interval (-1,1).
The end result is that xx and yy are each independently defined on the same interval for both the radius and angle compoents, but are different because the values returned by rand are different. Here, it looks as though they will always end up on an angle that is some odd integer multiple of (pi/4) radians, with varying radii.
Those explain posxy(:,1:2). I don’t understand posxy(:3).

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2014년 6월 18일
Computer-generated random numbers aren’t really ‘random’ in the mathematical sense of ‘randomness’ because they depend on deterministic algorithms and finite word lengths to compute them. These also depend on where the random number generator starts (the ‘seed’ number). The term used to describe numbers generated by these algorithms is ‘pseudorandom’ for that reason.
MathWorks explains it better than I can, because they wrote the algorithms. See Random Numbers in MATLAB and Why Do Random Numbers Repeat After Startup? for details.
  댓글 수: 2
Aftab Ahmed Khan
Aftab Ahmed Khan 2014년 6월 18일
Hi star,
I got this now for my starting question. There is no pattern in it now compare to my starting question. I achieved this by removing the sign function from below two lines of code. Can you explain to me what this function does over here. I understand what sign function does, but what does it do over here ?
xx = (r*rand) * sign(sin(2*pi*rand));
yy = (r*rand) * sign(cos(2*pi*rand));
Star Strider
Star Strider 2014년 6월 18일
Here, the sign function forces the angle the radii are plotted against to always be an odd integer multiple of (pi/4) radians (45°).
Removing the sign function allows the angle to be defined randomly on the interval (0,2*pi).

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by