Group Abstract Group Abstract

Message Boards Message Boards

0
|
9K Views
|
6 Replies
|
4 Total Likes
View groups...
Share
Share this post:

Generate random points in a unit circle using a "For" loop?

Posted 8 years ago
POSTED BY: Chiel Geeraert
6 Replies
Posted 8 years ago

Even more simple ! Alas, function not available in my version.

Thank you for your reply, Chiel Geeraert.

POSTED BY: Chiel Geeraert

Just for completeness: The function RandomPoint should at least be mentioned.

POSTED BY: Henrik Schachner
randompunten[n_] := Module[{p = n, r, angle, lis, i}, lis = {};
  For[i = 0, i < p, 
   i++, {r = RandomReal[], angle = RandomReal[2 \[Pi]],
    lis = Append[lis, Point[{r Cos[angle], r Sin[angle]}]]}]; lis]
{Graphics[{Red, randompunten[5], Blue, Circle[{0, 0}, 1]}], 
 Graphics[{Red, randompunten[100], Blue, Circle[{0, 0}, 1]}]}

fig 1

Posted 8 years ago
POSTED BY: Chiel Geeraert

The , (not the ;) separates arguments, and For needs to have precisely 4 arguments.

If you are a beginner, I suggest you simply forget that For even exists, and use other constructs instead. For is never necessary, and it is very, very rarely the best option. See here for more details:

https://mathematica.stackexchange.com/questions/134609/why-should-i-avoid-the-for-loop-in-mathematica

This post discusses precisely the type of problem you are trying to solve, so be sure to read through all of it. You can do the same with a shorter and faster Table.

POSTED BY: Szabolcs Horvát
Posted 8 years ago
POSTED BY: Chiel Geeraert
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard