Plotting random points in matlab

4 次查看(过去 30 天)
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