HP Forums

Full Version: WP-34S Integration
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Just curious (I love the 34S). When integrating a definite integral from 0 to pi the function (3/(2-cos(x))^2 , the 34S takes a long time to converge on ~10.88. On my HP 15C Limited Edition, the same integral produces the correct result almost immediately.

f LBL 1
3
ENTER
2
Roll up
COS
-
/
2
Y^x
RTN

Why is this?

By the way, thanks for the answer concerning setting "dx" interval from default value!

Quote:
When integrating a definite integral from 0 to pi the function (3/(2-cos(x))^2 , the 34S takes a long time to converge on ~10.88. On my HP 15C Limited Edition, the same integral produces the correct result almost immediately.
f LBL 1
3
ENTER
2
Roll up
COS
-
/
2
Y^x
RTN
Why is this?

First, the formatting is due to the "preformatted" button here ;-)

Second, with ALL 00 set, your integral takes some seconds to return 10.8827961854 on my WP 34S v3.2 build 3363. When I replace the last three steps by x^2 RTN, it runs a bit faster. When I replace build 3363 with v2.2 build 2738, it runs significantly faster (<2s). Seems the price for having a lot of free space in flash memory.

d:-/

ALL 00   RAD

f LBL 01
3
ENTER
2
Roll up
COS
-
/
x^2
RTN
/
0 pi g | 01 --> 9.19705925621 (after 25 minutes)
/

V3.2r3371 here. The exact result is 2*pi*sqrt(3) = 10.8827961854. I wonder what I'm doing wrong.

Quote:
When I replace build 3363 with v2.2 build 2738, it runs significantly faster (<2s). Seems the price for having a lot of free space in flash memory.

This is not the reason at all. The algorithms used by the two different integration routines are completely different. Version 2.2 firmware uses a non-adaptive Gauss-Kronrod quadrature. Version 3 uses an adaptive Romberg method. The former makes exactly 21 function evaluations and returns its result. The latter can do hundreds or thousands of function evaluations.

For well behaved, relatively smooth functions the Gauss-Kronrod method is better -- it is exact for polynomials of degree 20 or less (forget the precise order). For less well behaved functions, Romberg is better. As usual things are a trade off.

The space saving changes essential to version 3 firmware have not created orders of magnitude of performance loss. Sure, they slow things down but not nearly by as much as you see here.

- Pauli

Edited: 7 Mar 2013, 5:09 a.m.

Olá Gerson,

my WP 34S v3.2 b3363 takes ~15s for the integral using the program you listed and returns the correct result. The emulator b3371 returns the result you got. This points to a bug introduced recently! We'll take care of it.

d:-/

Found the problem and committed the fix. Build will have to wait for Marcus since I can't access the build server at present. In the meantime, begin your routine with FILL and all will be happy again.


- Pauli

Thank you, Walter and Paul. I remember the built-in FILL was missing in SSIZE8, but not in SSIZE4 mode, according to a recent discussion. With the workaround I get a result correct to 15 digits in about 10 seconds.
Amazing Bug-fixing Department! :-)

Gerson.

The built in fill went missing for all stack sizes :-(


- Pauli

Built and released...

Thanks for the "FILL"! Now the integration is fast!

I'd be more concerned that the integration is again correct.


- Pauli

Correct and fast!

Do any other built in functions require the FILL command?

This forum is quite a neat resource!

Solve, f', f", product and sum will require the workaround. At least until the latest firmware is installed.

- Pauli

The emulator says release 3375, yet calculator shows it's still 3371 (using calc_ir_full.bin here).

Works now with build 3376.

d:-)

Said workaround is required no longer - build 3376 works as advertised.

d:-)