About Matlab Code

I want to ask about matlab's code of this clip >>http://www.youtube.com/watch?v=EbC0eP0Dq9A<<
Step for Algorithm .. 1. fix number of point for random . 2. when it ploted, separate which point in a circle and another out of circle. 3. after point are random finish, calculate ratio in a picture. by Ratio = (Rectangle's areas * all of point in a circle) / number of point for random
Sorry, If I spell grammar wrong..

1 Comment

Techit
Techit on 12 Jul 2011
yeah, thx for all comments :)
but i need some guild line for a code
because i can't understand that youtube comments
thanks agian
and i'm sorry for my newbie in this matlab

Sign in to comment.

 Accepted Answer

Paulo Silva
Paulo Silva on 12 Jul 2011
clf
r=1;
rectangle('Position',[-1,-1,2*r,2*r],'Curvature',[1,1])
axis([-1 1 -1 1])
hold on
n=1000;
x=-1+2*r*rand(n,1);
y=-1+2*r*rand(n,1);
plot(x,y,'r.');
in=sum((x.^2+y.^2)<r);
(2*r)^2*in/n %Thanks Sean, (2*r)^2 is the area of the circle
Increasing n gives better approximations for the value of pi.

9 Comments

Techit
Techit on 12 Jul 2011
Paulo, Thx for your answer !
I want to know about code of this >> Monte Carlo-method is used here to approximate pi <<
Paulo Silva
Paulo Silva on 12 Jul 2011
It's fixed now, thanks Sean for pointing out the obvious error on the code
Techit
Techit on 12 Jul 2011
@Paulo Silva , Can u show me about code, If i want differnce color between point in/out a circle,
Paulo Silva
Paulo Silva on 12 Jul 2011
I don't know what you want, just guessing, add this code to the end of the code I provided in my answer
clf
idx=(x.^2+y.^2)<r;
hold on
plot(x(~idx),y(~idx),'r')
plot(x(idx),y(idx))
Techit
Techit on 12 Jul 2011
Yess, u understand that i want to ask, I have last Question .. how i display output(Pi), like cout or printf?
Paulo Silva
Paulo Silva on 12 Jul 2011
fprintf('The aproximated value of pi is %g\n',(2*r)^2*in/n)
Techit
Techit on 12 Jul 2011
I want to show Pi on Figure, Can I do?
if it can, what's a code ??
Paulo Silva
Paulo Silva on 12 Jul 2011
text(-0.5,1.1,['aproximmated \pi value=' num2str((2*r)^2*in/n)])
Techit
Techit on 12 Jul 2011
Thank you very much for your help.
> ขอบคุณครับ < I'm from Thailand :)

Sign in to comment.

More Answers (2)

Sean de Wolski
Sean de Wolski on 12 Jul 2011

0 votes

I think the answer to your question is already answered in the video comments.

9 Comments

Oleg Komarov
Oleg Komarov on 12 Jul 2011
Agree
Techit
Techit on 12 Jul 2011
I want to know about Code of this clip :)
Techit
Techit on 12 Jul 2011
i can't imagine it cus i'm just a beginner
Paulo Silva
Paulo Silva on 12 Jul 2011
Sean and Oleg are right, the answer is there and it's easy enough for anyone to replicate the code in just a few simple lines.
okay,
help rand
help le
help power
is LITERALLY all you need.
Oleg Komarov
Oleg Komarov on 12 Jul 2011
Division? (troll)
still need the divide though... darn.
Shouldn't that be
help rdivide
rather than ldivide ?
hmmm lt or le? The video says lt, but points on the circumference are part of the circle...

Sign in to comment.

Sean de Wolski
Sean de Wolski on 12 Jul 2011
Alright - darkness golf
f=@(n)etc
I can do it with 38 characters (lt); 39 (le).

Tags

Community Treasure Hunt

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

Start Hunting!