Chris Olley in the UK has produced some teaching materials for the HP39gII and has a copy of the manual available
on his website.
HP39gII teaching materials online
|
|
« Next Oldest | Next Newest »
|
▼
07-19-2012, 05:57 PM
▼
07-20-2012, 10:48 AM
I got mine this week, it is really a nice 'algebraic' calc.
Lambert function EXPORT w(y)
There are still some rought edges : determinant of integer matrice is not an integer :^)
Matrix square root EXPORT Matsqr(m) P.S. I have a "Ver: 09/May/2012 $Revision: 16633" model - I got a lock at the logo display once when turning on, I have to press ON A F WHEN inserting a battery to recover (lost memory) - I got a lock in the note editor too, I just have to remove all batteries to recover (no memory lost) P.P.S I think this calc will get better and better when roms will be upgraded (I hope the connect software will be soon available)
Edited: 20 July 2012, 5:07 p.m. after one or more responses were posted ▼
07-20-2012, 11:48 AM
I ordered one from a Spanish online dealer (click here). I was glad he deduced the 18% VAT sales tax. Namir
07-20-2012, 11:50 AM
Olivier, If I am correct, the single-letter variables need not be declared in a LOCAL statement. I use LOCAL to declare multiple-character variables. Namir ▼
07-20-2012, 12:36 PM
If they are built in variables (A,B,C,...) then no, but since they are general variables and lowercase names they do need to be declared. TW
07-20-2012, 12:37 PM
It depend, as variables names are case sensitive, Y is a global variable by default and y can be declared as a local one.
If you don't declare variables in the second example, there is an error detected in the program when you 'check' it Edited: 20 July 2012, 12:44 p.m.
07-20-2012, 04:26 PM
Quote:I have the same.. I notice a curious thing . WithON F4 (display version and system menu,the speed (top right) is in general 66MHz but sometimes 80 MhZ... ▼
07-20-2012, 04:41 PM
I even got 22 MHz once ▼
07-21-2012, 02:41 AM
The speed displayed in there is an estimate only (using a known bit of ASM code that we can count the cycles). Since there is no way to actually get the speed of the processor at the moment, and the underlying operating system can switch away to do other things, that number really will fluctuate. For example, plugging in another calculator will cause it to drop considerably as it does extra work to handle the USB-OTG communication stuff.
07-20-2012, 06:15 PM
Just to compare the 'philosophy' of the 39GII and 50G,here is a version of MatSqr for the 50:
« EGV « \v/ » MAP OVER SIZE \->DIAG OVER INV 3. \->LIST \PILIST » The advantage of the 50G are :
. 62Bytes (2,9KB for the 39GII) Disadvantage
.Readibility (?) (but i find this more easy to write) It seems to me I saw an EIGENVV function in the 39GII. Perhaps this could simplify the 39GII program Btw the39GII is very interesting. It is 20 x faster than the 50G. Imo the ROM have to be improve : my unit hangs twice when i tried to edit a program with alot of copy/paste.
Edited: 21 July 2012, 2:37 a.m. ▼
07-21-2012, 02:47 AM
The big culprit for size here is that everything is unicode based and your source code is kept intact as part of the program. The 50g userRPL code is actually compiled into pointers so that is all lost. And yes, there will be continual improvements and more refinement and new features. One of the major points of creating a calculator from scratch was to make ongoing maintenance much easier. TW ▼
07-21-2012, 04:39 AM
> there will be continual improvements and more Edited: 21 July 2012, 4:52 a.m. ▼
07-21-2012, 11:15 PM
>Sounds familiar... Let's see. You are right. It does sound familiar. I seem to remember back in 1999 when there was what was essentially a "new" calculator. I was around back then. Were you? Called the 49g. I seem to remember, lets see... Yes! There were a lot of serious bugs at the start. And yes, there were a whole lot of roms released to address those issues and even - let me check - add new features and capabilities. Amazing. Thank you for reminding everyone of how this works.
Edited: 22 July 2012, 8:56 p.m. ▼
07-23-2012, 05:31 PM
This was in no way meant as a personal attack towards you.
07-21-2012, 12:01 PM
In this precise case, the difference of size between the 2 versions is not signifiant because the 39GII program and 50G don't use the same algorithm. I tried to use the 50G algorithm on the39GII :
Works fine... 1,6kb
It seems that you cannot enter a matrix in input of a function with the debugger ?! -> Entrée invalide
Note that the 50G program seems to work also like this
For complete comparaison, if EGV will have work the same way as EIGENVVon the 39GII, it would be only :
Edited: 21 July 2012, 1:00 p.m. ▼
07-21-2012, 10:58 PM
Note you can also run the debugger from the home screen by surrounding your program call with 'debug( )' and pressing ENTER. It is just the pop up dialog from the catalog that has issues there. Glad you like the debugger! For those that have not seen it, it lists the contents of you global/local variables as they change, and you can even browse any other system variables as you debug. In essence, it behaves much more like a modern IDE debugging environment. Does your 1.6kb include those comments? Or were those just added for this post? Will try to get MAP or similar added. Quick poll: is MAP the normal name for this type of command in other math programs/packages? Anything that is more common or universal? TW
Edited: 21 July 2012, 11:22 p.m. ▼
07-22-2012, 05:09 AM
Hi Tim, The size is without the comments... I think MAP is the 'normal' name (Mathematica and many other languages). Imo MAP should apply to matrix, lists and vectors,like on the 50G 1/ With matrix,no problem :
MAP( Function(x), M1)
It would be fine if we could use an algebraic expression for the 'function' without defining it before( but then how to manage parameters ?) 2/ With list On the 50G MAP applies the program to all the items ( include inner lists).( but we can use DOLIST for more complex things) I think it would be judicious to have an additionnal argument for the "level of deep" to manage inner lists (i dont like very much the idea of variable number of arguments for a function but it's already that way on the 39GII and it has his advantages) So we could manage in different ways :
{ 1 2 3 4 }
0 : compute all the items (inner lists include)- default value
MAP (-> x 'SORT(x)', L1, 1) will sort all the first level inner list of L1 Here are some implementaion of MAP in various language : PS : also note that in the 50G, in many occasion there is no need of MAP command and the // list processing is very powerfull
{ 2 3 4 } 1 - gives { 1 2 3 } In that point of view the APLY program example in the AUR is a non sense
Edited: 22 July 2012, 6:27 a.m.
07-22-2012, 11:26 AM
MAP, EACH, FOREACH. Is the language dynamic enough to have the concept of functions as data? That is, can you do something with, say, SQRT, other than calling it? IMO, better than MAP is doing mapping automatically. That is, instead of telling the user "hey, you can't apply SQRT to a vector", apply the function component-wise. ND1 does that in interactive operation and in RPL. For example: << [9 -1 '3+x' ] sqrt >> becomes [3 (0,1) 'sqrt(3+x)'] ▼
07-22-2012, 03:26 PM
I
07-22-2012, 03:36 PM
Quote: Hi Oliver, I agree with the general idea. On the 50G it works like this for lists. { 4 9 16 } SQRT -> { 2 3 4} but sometimes it is not possible... For example,take the square root of a matrix... What do you do with this ? .... Like with a list,or with the mathematical definition of a square root matrix M=M'*M'so Sqrt(M)-> M' I cannot use ND1 because I have no iPhone/iPad but I remenber you work with lists in the same ways than matrix.In most cases it's OK but not every time. I think that it is important to have a global view about list processing to be coherent. For example, on the 50G (due to the legacy of the 48 and backward compatibility), there is confusion about + and ADD commnd. The 39GII is developped from scratch and it is important to avoid this, and to have a global idea on how to do with list processing.
command such as FILTER ,MAP, ZIP are very powerfull.
Edited: 22 July 2012, 3:53 p.m. ▼
07-22-2012, 04:41 PM
Hi Gilles, Just to clarify: I'm suggesting it's a good idea to use automatic element processing in those cases where a calc would normally throw a "wrong type of argument" error involving lists/arrays/vectors/matrices. As such, automatic processing wouldn't be in the way of type-specific definitions. For example, SQRT could still be defined to operate on a matrix and have the behavior as discussed above. (Nice code, by the way.) Yes, you're picking the exact right example for when there's trouble with a united list/array approach: you cannot really have the "+" operator both ways. (ND1 has append and concat functions to deal with the ambiguity.) And, yes, I agree with you that when doing something from scratch is the best time to get things like that right. And that list (or, rather, array) processing is very cool. (Esp. on a calculator, where you want to minimize the character count to write programs.)
Something like << cmdA cmdB cmdC >>where each cmdXXX performs array processing, makes for super-short yet capable programs that operate on arrays (*and* scalars!). The syntax couldn't be simpler to write and read, and really leverages RPL's invisible transport of inputs and outputs and type inference--two great features (rarely found elsewhere).
Compare this to syntax to declare programwhich does the same.
With capable commands, you can also do auto-processing with algebraic notation, of course. Something like this, for example: BEGIN RETURN cmdC(cmdB(cmd(INPUT))) END
To me << DIVIS SQ TOTAL >>sure looks better than << =input TOTAL(SQ(DIVIS(input))) >> ▼
07-23-2012, 06:10 PM
Quote: :D To me too
In my mind,RPL is like words manipulating objects... Not magic spells but sometimes... ;) It's difficult do explain but i dont think the same way when I want to solve a problem in RPL than with an algebraic language. RPL is near what you do to solve the problem in an interactive (english word ?) approch unlike many other language. Edited: 23 July 2012, 6:17 p.m.
07-22-2012, 11:43 AM
Tim & whoever else has been involved at HP in creating the 39gII: Kudos and congrats! I combed through the manual and am impressed. The scope of what this machine can do is quite a bit greater than I had imagined. You guys did a great job and this seems a very fine calc indeed! From this group of spectators and speculators, it often sounded like the calculator group was mainly in maintenance mode, but this product shows you guys have been very much in creation mode. Splendid. Hope it will meet deserved success in the marketplace!
Edited: 22 July 2012, 12:27 p.m.
07-21-2012, 08:59 AM
My 39GII has hung up a couple of times, mostly when or after I have been connecting to a PC via USB. Taking the batteries out was the only answer, since no hardware reset - a good project for a skilled forum member to have a try at.
I think the emulator ROM version is later than the one shipped on my calculator (09 May 2012, Rev 16633). It has the jump to letter of the alphabet feature in the 259 item catalog, whereas on my machine you have to scroll through the whole lot to get the command you want. Edited: 21 July 2012, 9:00 a.m. ▼
07-21-2012, 11:01 PM
There actually is a hardware reset. It's just not labeled as such. There is ON-F3. If that doesn't work, you can stick something down the hold in the left middle of the battery compartment and it will disconnect the power. Personally, I find it easier to pop the batteries. Always have on the 50g as well. TW ▼
07-22-2012, 04:42 AM
I see no hole and don't remember any visible means of physically interrupting the power when I had the back of the calc. As I remember, the leads from the battery compartment terminals ran directly to the PCB. Maybe this feature was was present on pre-release test units in circulation at HP. Could you post a picture to clarify? Thank you.
07-22-2012, 05:11 AM
I got some strange behaviour and a hung playing with 'solve app'
set FIX 4 I got the same behaviour with 16633 and last emulator ...
Eventually I got a hung when entering a number -> remove the battery Edited: 22 July 2012, 5:12 a.m. |
Possibly Related Threads… | |||||
Thread | Author | Replies | Views | Last Post | |
HP39gii | Richard Berler | 1 | 1,372 |
10-23-2013, 12:10 AM Last Post: WALTER B |
|
Matrices on HP39gii (Cautionary Tale) | Eddie W. Shore | 2 | 1,373 |
03-23-2013, 07:54 PM Last Post: Gilles Carpentier |
|
Square Root Simplifier for HP39gII | Mic | 4 | 2,029 |
03-11-2013, 08:25 AM Last Post: Eddie W. Shore |
|
Tangent's equation program for HP39gII | Mic | 22 | 6,036 |
03-01-2013, 11:14 AM Last Post: Tim Wessman |
|
Free HP39gII online note editor | Mic | 0 | 987 |
02-25-2013, 05:48 AM Last Post: Mic |
|
New HP39gII programs (snake, minesweeper, ...) | Mic | 8 | 2,859 |
02-23-2013, 08:13 PM Last Post: Eddie W. Shore |
|
Updated PPC DVD Disk w/HHC2012 Materials | Jake Schwartz | 1 | 1,305 |
01-26-2013, 02:45 AM Last Post: Walter B |
|
Snake for HP39GII | Gilles Carpentier | 4 | 1,747 |
01-25-2013, 12:57 PM Last Post: Gilles Carpentier |
|
Arithmetic programs for HP39gII | Mic | 0 | 1,006 |
12-19-2012, 12:23 PM Last Post: Mic |
|
Christmas tree simulator on HP39gII | Mic | 0 | 995 |
12-08-2012, 07:19 AM Last Post: Mic |