|
The inverse CDF of the normal distribution doesn't have an analytical form. You can find an approximation here[^].
The other place to look is in the online version of Numerical Recipes[^]. They have an algorithm for the inverse normal CDF.
You can also use the following taken from here[^].
What is a good approximation to the inverse of the
cumulative normal distribution function? Mathematically we can
write this as: Find X such that Q(X) = p for any 0 < p < 1.
(Note: this computes an upper tail probability.) Again, it is
not possible to write this as a closed form expression, so we
resort to approximations. Because of the symmetry of the normal distribution,
we need only consider 0 < p < 0.5. If you
have p > 0.5, then apply the algorithm below to q = 1-p,
and then negate the value for X obtained. (This approximation
is also from Abramowitz and Stegun.)
t = sqrt[ ln(1/p^2) ]
c_0 + c_1*t + c_2*t^2
X = t - ------------------------------
1 + d_1*t + d_2*t^2 + d_3*t^3
c_0 = 2.515517
c_1 = 0.802853
c_2 = 0.010328
d_1 = 1.432788
d_2 = 0.189269
d_3 = 0.001308
See Abramowitz and Stegun; Press, et al.
You should Google a little harder instead of always asking here. These algorithms were worked out a long time ago and have been available for a long time.
I'm the ocean. I'm a giant undertow.
|
|
|
|
|
73Zeppelin wrote: You should Google a little harder instead of always asking here
I think it is more of a case of sheer laziness. He's asking about the FDIST function now, and I pointed him to Wolfram's Mathworld.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
How to find NORMSDIST function of ms excel.It Returns the standard normal cumulative distribution function. The distribution has a mean of 0 (zero) and a standard deviation of one. Use this function in place of a table of standard normal curve areas.
Syntax
NORMSDIST(z)
Z is the value for which you want the distribution.
Thanks
|
|
|
|
|
drinking beer is a wonderful experience.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
Don't you agree on beer drinking statement?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
No
If u know the answer plz tell me..
|
|
|
|
|
How can I answer if there is NO question?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
i want to make function to calculate Normsdist like this:---
Public Function calculateNormsdist(ByVal z As Single) As Single
and it will give the answer
can u implement it??
|
|
|
|
|
sumit7034 wrote: can u implement it??
yes
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
sumit7034 wrote: can u implement it??
cp9876 wrote: yes
I was pretty sure about.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
plz implement it
|
|
|
|
|
sumit7034 wrote: plz implement it
Why him? Can't you?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
sumit7034 wrote: i want to make function
sumit7034 wrote: can u implement it?
The two statements above are in contraddiction (unless sumit7034 and cpallini are the same person ).
BTW Now your question is clear, but is too broad and a bit lazy: what have you done so far? What are your troubles about?
I mean, numerically computing the cumulative of the normal distribution isn't such a daunting task, I suppose.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Implementation 1:
double CNDF(double x)
{
int neg = (x < 0);
if ( neg )
x *= -1;
double k(1/(1+0.2316419*x));
double y=((((1.330274429*k-1.821255978)*k+1.781477937)*k-0.356563782)*k+0.319381530)*k;
y = 1.0 - 0.398942280401*exp(-0.5*x*x)*y;
return (1-neg)*y + neg*(1-y);
}
Implementation 2
double CumNorm(double x)
{
if (x > 6.0)
return 1.0;
if (x < -6.0)
return 0.0;
double b1 = 0.31938153;
double b2 = -0.356563782;
double b3 = 1.781477937;
double b4 = -1.821255978;
double b5 = 1.330274429;
double p = 0.2316419;
double c2 = 0.3989423;
double a = fabs(x);
double t = 1.0 / (1.0 + a * p);
double b = c2*exp((-x)*(x/2.0));
double n = ((((b5*t+b4)*t+b3)*t+b2)*t+b1)*t;
n = 1.0-b*n;
if ( x < 0.0 )
n = 1.0 - n;
return n;
}
I'm the ocean. I'm a giant undertow.
|
|
|
|
|
Wow, no iterations?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
No, none.
I'm the ocean. I'm a giant undertow.
|
|
|
|
|
Thanks my proble is solved
|
|
|
|
|
|
I'm a desperate Geocacher (www.geocaching.com) trying to solve a difficult puzzle.
I see discussions in this forum about the rightmost non-zero digit of 1000000! is 4.
Can anybody figure out the six rightmost non-zero digits of one million factorial?
As an incentive, I'll send $20 (via PayPal) to the first person who posts the correct answer.
Thanks!
-Rod
|
|
|
|
|
The last six non-zero digits of 1,000,000! are 412544. Please, keep your money.
I wrote this code to calculate your answer:
using System;
class Program
{
const ulong Target = 1000000;
const ulong RoundOff = 10000000000;
static void Main(string[] args)
{
ulong factorial = 1;
for (ulong n = 1; n <= Target; n++)
{
factorial *= n;
while (factorial % 10 == 0)
{
factorial /= 10;
}
factorial %= RoundOff;
}
Console.WriteLine("{0}! (truncated) = {1}", Target, factorial);
}
}
Why it works:
When multiplying numbers, the trailing zeros at the end will not change the outcome... so I threw those out.
Also, if you are only interested in the least significant digits, then the upper-most digits will not have an effect on the outcome of the lower digits... so I threw those out.
With all the rounding, I didn't have to worry about overflow so I was able to calculate the "truncated factorials" of very large numbers iteratively.
Enjoy,
Robert C. Cartaino
modified on Wednesday, July 2, 2008 1:26 PM
|
|
|
|
|
Way cool! Thank you very much!
-Rod
|
|
|
|
|
One thing I forgot to mention in the source code; I rounded off to a few more digits than required because the top digit or two might be wrong because of the rounding. In other words, if you need six digits, calculate for eight. The six-digit answer I gave above is accurate.
|
|
|
|
|
Good Day,
It's me again. This question is one of the questions in ACM ICPC 2006 - Philippines.
Basically, you need to express a large number as a product of its Primes.
For example:
120 = 2x2x2x3x5 (or 2^3x3^1x5^1)
I'm lost on how to begin to tackle this problem. Please advice.
Thank you.
It is said that the most complex structures built by mankind are software systems. This is not generally appreciated because most people cannot see them. Maybe that's a good thing because if we saw them as buildings, we'd deem many of them unsafe.
|
|
|
|
|
Think of how you would do it on paper or using a calculator and generalise...
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|