| New Reply |
Fortran Factorials |
Share Thread | Thread Tools |
| Feb9-12, 06:18 PM | #1 |
|
|
Fortran Factorials
I don't understand at all how you tell the computer to evaluate a complicated factorial expression such as the one given in in the infinite sum of binomial theorem as
Ʃ [n! / k!(n-k)! ] * x^k where n is the final value of the sum and k is where you are in the loop. It's supposed to be INTEGER :: k, n REAL :: sum, fact, x ASK INPUT (what are x and n?) DO k = 0,n sum = sum + fact*x**k fact = fact * (n-k)/(k+1) END DO Is there a procedure to figure out what the term multiplied by the fact variable should be? |
| Feb9-12, 07:32 PM | #2 |
Recognitions:
|
Look at what the term are summing, for each value of k.
When k = 0, it is n! / (0! n!) so k0 = 1 When k = 1, it is n! / (1! (n-1)! so k1 = n = k0 * n / 1 When k = 2, it is n! / (2! (n-2)! so k2 = n(n-1) / 2! = k1 * (n-1) / 2 When k = 3, it is n! / (3! (n-3)! so k3 = n(n-1)(n-2) / 3! = k2 * (n-2) / 3 etc. That is what the program is doing when it updates "fact". |
| Feb9-12, 09:35 PM | #3 |
|
|
Hmmm... then fact * (n-k)/(k+1) can't be right because it doesn't match the results of working out all the factorials like that. I checked it in command prompt and it said the sum with x = 2 and n = 2 is 5. This sum represents (1+x)^n which should be 9 in that case.
I thought fact * ( (n-k+1) / k ) would work but I'm not getting the right answer with that either. |
| Feb9-12, 09:50 PM | #4 |
|
|
Fortran Factorials
disregard that. i worked it out on paper and i got 9 but for some reason the program is outputting 5...
If the k0,k1,k2 etc values are the "fact", how is (n-2)/3 = (n-k)/(k+1) for k = 3? That's why I thought it should be ( (n-k+1) / k ). |
| Feb10-12, 07:33 AM | #5 |
Recognitions:
|
Each time through the loop, it uses the current value of fact, then calculates the next value. |
| Feb10-12, 10:30 AM | #6 |
|
|
Code:
i=n fact=1 sum=1 DO k= 1,n f = f*i/k*x i = i-1 s = s + f END DO |
| Feb10-12, 10:38 AM | #7 |
|
|
|
| New Reply |
| Thread Tools | |
Similar Threads for: Fortran Factorials
|
||||
| Thread | Forum | Replies | ||
| Fortran 77 help making an empty array (or blank list if they exist in fortran) | Programming & Comp Sci | 5 | ||
| FORTRAN 95: New to fortran, want to learn how to input a function | Programming & Comp Sci | 1 | ||
| Factorials | Calculus & Beyond Homework | 3 | ||
| Accessing Fortran Modules within a Fortran library from Fortran | Programming & Comp Sci | 0 | ||
| sum of the first n natural numbers is n(n+1)/2 | General Math | 2 | ||