HP 17BII+ Flaw - Revisited



Post: #20

Hello,
A month ago, I found a flaw in the Summation Function of the HP 17 BII+. For you to understand the problem, please go to http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv015.cgi?read=90408#90408.

I found a solution for the problem. Let's see:

The following equation is for the HP 17BII:
SUM = SIGMA(N:1:N:1:N)
This equation works fine in the HP 17BII but it does not work in the HP 17BII+.

The following equation is for the HP 17BII+ and gives the same results as the equation above:
SUM = 0xN+SIGMA(N:1:G(N):1:N)
This equation works fine in the HP 17BII and HP 17BII+.


Post: #21

Iracildo:

Good sleuthing! I'll have to remember that work-around.

Bob

Post: #22

Quote:
The following equation is for the HP 17BII+ and gives the same results as the equation above:
SUM = 0xN+SIGMA(N:1:G(N):1:N)
This equation works fine in the HP 17BII and HP 17BII+.

I can't get this to work in my 17bII+ with no other equations present: it says "Invalid Equation" and leaves the cursor on the N in G(N).

Which is probably a good thing since it is hard enough to document solver equations as it is without making them deliberately opaque.


Post: #23

Bruce:

Try running this equation first: SUM=N+1, that should initialize both variables.

My 17BII+ has serial number CNA418062xx.

Bob


Post: #24

Nope, still no joy - same invalid equation. My serial is CN33. I'll try it in the 17BII and see if I can get it to work there.


Post: #25

Bruce:

My 17BII+ Serial No: CN33301xxx did not have L() or G() functions. I had that replaced twice, finally ending up with my CNA41xx. If you call (800) HPINVENT you MAY be able to convince them to exchange yours for a newer one that does have L() and G(). I was initially told that L() and G() were unsupported functions, so my CN33xx was operating as advertised. See thread:

http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv014.cgi?read=67528#67528

Bob


Post: #26

Ah, that would explain it. I had forgotten that the L() and G() behaviour had changed mid-series as well as between the 17BII and the 17bII+.

Would you mind trying out another bug for me to see if that is fixed in your newer version?

Go into the FIN TVM menu and CLR DATA.
Enter N=1; PV=1500; FV=-1750
Press OTHER and set P/YR=1
Press EXIT and I%YR
It should calculate the annual interest rate (16.67% in this case). However, on mine, it doesn't. Instead it stores 1 into I%YR. Press I%YR again and it now behaves as it should and calculates the interest rate.

On the old 17BII it calculates the correct interest rate first time around i.e. you only have to press the menu button once.


Post: #27

Bruce:

Both of my 17BII+'s require two presses to calculate I%YR.

My 19B and 19BII behave properly.

Bob


Post: #28

Thanks Bob and Iracildo for confirming this. You may have spotted that this bug occurs with solver equations as well if you have one with enough variables to need more than one menu screen to display them all.

Post: #29

Hello Bruce,

The serial number of my HP 17BII+ is CNA534xxxxx.

My 17BII+ required two presses to calculate I%YR.

My 17BII behave properly.

I found out the G() function of my 17BII+ does not work properly either.

Iracildo


Post: #30

Try initialising variables before using L() and G(). For example
Y=0*(X+Y+Z) + 0*(L(X:2) + L(Y:3) + L(Z:4)) + G(X)*G(Y)*G(Z) should give the answer of 24. I cannot try this as I do not have a 17BII+ anymore.


Post: #31

Hello Chris Dean,

I tested your equation and the result was Y=24.

But I will do more tests to see if the criterion of initializing variables can be applied in general or in some particular cases.

I guess I used this criterion for the Summation function and it did not work.

Regards

Iracildo


Post: #32

Iracildo

I have used the initialisation with the summation. I did use a separate equation for the initialisation though. For example run the equation Y=AA+BB to initiate the variables. Press CALC and do not enter any variables then use L(AA:expr), L(BB:expr) and G(AA), G(BB) in your summation where ever you require them.

Try this for Fibonacci Numbers

Y=A+B press CALC

S=L(C:A+B)+ 0*(L(A:G(B)) + L(B:G(C)))

Set A=1 and B=1 and successive pressing of S should show the next Fibonacci Number. series should be 1,1,2,3,5,8,13 ...............

Good luck!!!

Chris

Edited: 10 May 2006, 4:56 a.m. after one or more responses were posted


Post: #33

Hello Chris Dean,

For sammation function, I mean the SIGMA function. I tried to initialize the variable N in the following equation

SUM = SIGMA(N:1:N:1:N). Try this equation in a HP 17BII+.

But I was not successful. I think initialization of variable does not work in this particular case. If you know another way of making this equation to work in a HP 17BII+, please let me know.

Regards

Iracildo


Post: #34

Iracildo

I do not have a HP-17BII+ anymore but try this:

Y=N
CALC

set N = 9

SUM=SIGMA(I:1:G(N):1:I)

or try

SUM=0*(N + L(N:9)) + SIGMA(I:1:G(N):1:I)

Running either of these should give 45.

This problem has been has been discussed at length previously. You should be able to find more information in the archive.

Good luck

Chris

Edited: 10 May 2006, 4:57 a.m.


Post: #35

Hello Chris Dean,

This solution I know. Please, go to the beginning of this discussion.

I would like to know if there were another way of doing the thing.

Thanks a lot.

Iracildo


Post: #36

Iracildo

I think previous discussions of this problem have led to the conclusion that variables need to be initialised before use for the HP17BII+.

I presume that the variable within the sigma function is considered to be 'local' to that function and can be used within the function without external initialisation.

To view its value it will need to be initialised.

I must admit I do not see this as a flaw but just how functions work.

Chris

Edited: 10 May 2006, 1:08 p.m.


Post: #37

Hello Chris Dean,

Maybe you are right concerning to the flaw. But I have my own reasons to consider the behaviour of the sigma function of HP 17BII+ a flaw. If it is not a flaw, we have to admit that the function sigma of the HP 17BII and HP 19BII is not correct. But this hypothesis is false because the sigma function works fine in these calculators.

The following equation runs in the HP 17BII and HP 19BII without problems.

SUM = SIGMA(N:1:N:1:N)

With the HP 17BII, the variables N and SUM appear in the menu. The same happens with the HP 19BII. Also, the functions L() and G() works fine in these calculators. But, in the HP 17BII+, the variable N does not appear in the menu and I have to do magic to get the same result I can get with the L() and G() functions with the HP 17BII and HP 19BII. Besides, in my opinion, the HP 17BII+ had to mantain compatibility with the HP 17BII and HP 19BII. Because it did not mantain compatibility, I had to re-write all programs to run in this new calculator.

In the HP-27S/19B Technical Applications Manual, HP says that the "counter variable" of the SIGMA function is a "local variable" and thus it did not appear in the menu. If this is true, the SIGMA function in the HP 17BII and HP 19BII were not implemented correctly. Of course, this is FALSE because, as I said, this function works flawlessly in these calculators. So, this USELESS RULE that says the counter variable of the SIGMA function does not appear in the menu led to the FLAW in the SIGMA function of the HP 17BII+. Happly, the HP engineering did not implemented this "technical rule" (sic!) in the HP 17BII and HP 19BII.

I think there were a flaw in the implementation of the sigma, L() and G() functions of the HP 17BII+. Otherwise, these functions would work as fine as in the other calculators it replaced.

Regards

Iracildo


Post: #38

Hi Iracildo

I think you are probably right. It is interesting that L() and G() are not documented in the first edition of the HP17BII+ but do appear in the second edition according to previous discussions on the matter.

I think the best approach to your problem is now realising the limitations of the HP17BII+ to program within them. It is still a powerful calculator to work with and looks and feels quite good.

Regards

Chris


Forum Jump: