Post Reply 
(49g) (50g) STAT Inv as user key — Inv.UTPC, Inv.UTPF, Inv.UTPN, Inv.UTPT
12-31-2020, 11:10 AM (This post was last modified: 02-17-2021 10:49 PM by Gene.)
Post: #1
(49g) (50g) STAT Inv as user key — Inv.UTPC, Inv.UTPF, Inv.UTPN, Inv.UTPT
The HP49-50G calculators have no built-in inverse function of
UTPC, UTPF, UTPN, UTPTN.

It's sometimes handy to dispose of them instantaneously,
without having to write a "root-solver" from scratch.

Here are the "missing" build-in inverse functions accessible through key-user assigned letters C, F, N and T:
LS-User C (C for Chi);
LS-User F (C for Fisher);
LS-User N (C for Normal);
LS-User T (C for sTudent).

The arguments are basically in the same order as in the
original build-in functions UTPC, UTPF, UTPN, UTPTN,
with the exception always — of course — of the last argument, that should be the upper-tail probability (for the reverse function), and not the x.Value of the original function.

Note that the arguments can be entered in two ways:
- {a b u.PROB}, i. e. with { }, when a and b are new;
- or u.PROB only, directly in the stack, without any { }, when a and b repeat themselves.

Example for the Normal distribution:
1st calculation
Mean: 10
Variance: 5
Probability on the right: 2.5%
X.N?

How to procede:
{10 5 0.025}
LS-User N (N like Normal)

Solution in the stack:
{Mean: 10 Var: 5 u.PROB: 0.025}
14.3826...

2nd calculation
Now only the probability changes.
Mean, like before : 10
Variance, like before : 5
Probability on the right: 5%
X.N?

How to procede:
No need to enter the cumbersome
{10 5 0.05}.
Just put directly 0.05 in the stack, without { }, i. e. the changed, new probability.
LS-User N (N like Normal).

Solution in the stack:
{Mean: 10 Var: 5 u.PROB: 0.05}
13.6780...

Here below are the codes for the key-assignments keys.

For Chi:
\<< DUP TYPE 5 ==
IF
THEN OBJ\-> DROP 'u.PROB' STO 'lib' STO
ELSE 'u.PROB' STO
END lib "lib" \->TAG u.PROB "u.PROB" \->TAG 2 \->LIST
\<< lib x.C UTPC u.PROB -
\>> 'x.C' 2 ROOT "x.C" \->TAG
\>>
13.1 ASN (13 = line 1, column 3, for letter C of Chi)

For F:
\<< DUP TYPE 5 ==
IF
THEN OBJ\-> DROP 'u.PROB' STO 'lib2' STO 'lib1' STO
ELSE 'u.PROB' STO
END lib1 "lib1" \->TAG lib2 "lib2" \->TAG u.PROB "u.PROB" \->TAG 3 \->LIST
\<< lib1 lib2 x.F UTPF u.PROB -
\>> 'x.F' 2 ROOT "x.F" \->TAG
\>>
16.1 ASN (16 = line 1, column 6, for letter F of Fisher)

For N:
\<< DUP TYPE 5 ==
IF
THEN OBJ\-> DROP 'u.PROB' STO 'vv' STO '\Gm\Gm' STO
ELSE 'u.PROB' STO
END \Gm\Gm "\Gm\Gm" \->TAG vv "vv" \->TAG u.PROB "u.PROB" \->TAG 3 \->LIST
\<< \Gm\Gm vv x.N UTPN u.PROB -
\>> 'x.N' 2 ROOT "x.N" \->TAG
\>>
42.1 ASN (4 = line 4, column 2, for letter N of Normal)

For sTudent:
\<< DUP TYPE 5 ==
IF
THEN OBJ\-> DROP 'u.PROB' STO 'lib' STO
ELSE 'u.PROB' STO
END lib "lib" \->TAG u.PROB "u.PROB" \->TAG 2 \->LIST
\<< lib x.t UTPT u.PROB -
\>> 'x.t' 2 ROOT "x.t" \->TAG
\>>
64.1 ASN (64 = line 6, column 4, for letter T of sTudent).

That's it.

Regards,
Gil
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: