Matlab

Moderators: None (Apply to moderate this forum)
Number of threads: 1471
Number of posts: 2147

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Having trouble evaluating this sum Posted by DataWhore on 31 May 2008 at 9:07 AM
I need help evaluating the following sum:


I tried writing a C++ program to help evaluate it, but because the factorials & exponents get so large the standard libraries cannot handle it nor any calculator I have. So I was hoping to get some advice on here. What would you recommend doing in order to solve this problem?

(I am in the process of getting MATLAB, never used it, and if there is no simpler solution I was planning on learning to use it to perhaps help solve it.)

Thanks...
Report
Re: Having trouble evaluating this sum Posted by zibadian on 31 May 2008 at 9:38 AM
: I need help evaluating the following sum:
:
:
: I tried writing a C++ program to help evaluate it, but because the
: factorials & exponents get so large the standard libraries cannot
: handle it nor any calculator I have. So I was hoping to get some
: advice on here. What would you recommend doing in order to solve
: this problem?
:
: (I am in the process of getting MATLAB, never used it, and if there
: is no simpler solution I was planning on learning to use it to
: perhaps help solve it.)
:
: Thanks...
:
Don't try to calculate 365! or (367-n)! or (1/365)^n; those individual values grow to fast outside the range of nearly all standard libraries.
Instead use maths to reduce those values. Write the first couple of n out. This will give you the following (I've left out the n*(n-1) for readability):
For n = 2:
  365!/(365!) * (1/365)^2 = 1 * (1/365)^2

For n = 3:
  365!/(364!) * (1/365)^3 = 365 * (1/365)^3 = (365 / 365) * (1/365)^2

For n = 4:
  365!/(363!) * (1/365)^4 = 364*365 * (1/365)^4 = 
            (364 / 365) * (365 / 365) * (1/365)^2

For n = 5:
  365!/(362!) * (1/365)^5 = 363*364*365 * (1/365)^5 = 
           (363 / 365) * (364 / 365) * (365 / 365) * (1/365)^2

As you can see the calculation can be reduced to a loop, which calculates (367-i)/365 and multiplies the results together. Finally the result of this loop can be multiplied by (1/365)^2 and n*(n-1). The result of each of these multiplication doesn't get very small or very large. The result may be quite small, but should be within limits of a standard library.
Report
Re: Having trouble evaluating this sum Posted by DataWhore on 31 May 2008 at 10:53 AM
You are absolutely right, thank you!



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.