The first part of the Complex Mrathon is ready. It is already uploaded
as a PDF document to www.hpcalc.org. Unfortunately it is not possible
to also post it here because it is too big (over 24 pages) and it has
too many graphics.
Since Eric's site has the problem with exceeded bandwidth, perhaps we
should help by not downloading to much from there for the next days.
So I'll mail it to anybody who wants to have it. Just drop me an
email. ( If somebody also wants the Trigonometry Marathon, then send
me an email saying that you want it and I'll mail it to you. )
Some of the contents of the first part of the Complex Marathon are:
1) Complex numbers and the displaying modes for them. This part deals
with complex *numbers* only (type 2). Symbolic complex quantities
follow on the next parts.
2) How to use vectored enter, to enter complex numbers in polar form
with units for the angle, for example (1.,20_°) (This is for you
Veli-Pekka :-) )
3) Many things about the behavior of the HP49G when it calculates
roots or broken exponents of complex numbers. All combinations of
(numeric) argument types are covered.
4) Composing and exploding complex numbers from their real & imaginary
parts.
5) How to use the custom solver menu facility to numerically solve a
complex equation with the built-in numeric solver.
And many other not so obvious things.
Complex greetings,
Nick.
* * * * *
a master piece !!!
thanks Dr. HP49G
Thanks a lot for that rcobo :-)
Greetings,
Nick.
Thank you very much Samuel!
Hope that the next parts will be also good for your phaser, errh I mean phasor. ;-)
Greetings,
Nick.
Lol, actually phasor domain problems are used in the study of circuits
with AC sources, by switching over to complex numbers and using eulers
identity 2nd order differential equations can be removed.
I am sort of annoyed: I need to use complex number And I figure out
how to enter them and do most manipulations on them. but the
checklist of features specifically over at hp.com says that it can do
rectangular <-> polar conversions so I look through the documentation
and can not find it anywhere. So I do a google search and all i get
is copies of that feature checklist at various retail sites. And then
I read the complex marathon, whick says to use the hp48 mode menu- a
feature implimented into the 49g in the last rom release.
I could use the angle and magnitude commands, but those are awkward
compared to a simple >polar on my 89.
Am I missing something? or is the feature checklist bragging about
features only implimented in the latest unoficial rom?
> I am sort of annoyed: I need to use complex number And I figure out
> how to enter them and do most manipulations on them. but the
> checklist of features specifically over at hp.com says that it can do
> rectangular <-> polar conversions so I look through the documentation
> and can not find it anywhere.
> I read the complex marathon, whick says to use the hp48 mode menu- a
> feature implemented into the 49g in the last rom release.
> I could use the angle and magnitude commands, but those are awkward
> compared to a simple >polar on my 89.
> Am I missing something?
You sure are; what you're missing is that there has been
no need for any such function on any calculator in the HP series
since well over a decade now, and bemoaning its absence is like
complaining to Ford Motor Company that it no longer supplies
the vitally necessary hand-crank for starting its cars,
which a long history of previous models used to come with :)
The need for such functions existed when there were nothing
but all-identical single-number registers on calculators,
requiring two of those registers to specify one complex number,
and there was no way of indicating which sort of coordinates
any such pair was holding at any given moment.
There was also no compiler built into the calc to
automatically recognize complex numbers and their syntax
directly on input, nor was there any decompiler which could
display complex numbers in any desired form on the output screen,
all completely automatically, without ever having to manually "convert"
anything back and forth within any calculator "registers" any longer.
Your calculator automatically recognizes different syntax in the
text input line for complex numbers in rectangular vs. polar
input format, which looks like ( 3 4 ) for rectangular coordinate
input or like ( 5 @ 53 ) for polar coordinate input, where
by "@" I don't mean the ascii "at" sign, but rather the
non-ascii "angle symbol" character.
So your responsibility is just to decide whether to type a space
or an angle symbol between the pair of coordinates as you are
entering them, and the calculator then *automatically* takes
care of converting the polar form for you as it digests
what you type -- there's no need whatsoever for you to
ever "convert" anything after you have entered it.
For choosing which coordinate format you want to see on output,
your responsibility is to state the desired automatic display mode;
you can do this via one of the commands RECT, CYLIN or SPHERE
(the latter two being both equivalent to "polar" in the
two-dimensional complex plane, being different only when
specifying three-dimensional vectors instead, which can
be expressed using either none, one, or two angular coordinates).
Note that nothing is "converted" internally as you select
different display modes; each re-painting of the stack display
simply looks at what sort of coordinates you want to see *displayed*
at the moment, and presents it to you in real-time. Isn't that nice?
The only legitimate complaint about the newer HP49G,
as opposed to the decade-old functionally identical HP48G, is that
HP so crammed the keyboard with new editing and algebraic functions
that they no longer put the very handy "POLAR" display-toggling
function in the visible default keyboard assignments, nor did they
put the angle symbol on the default keyboard either -- but you
can yourself *customize* the entire keyboard entirely to your
own taste, and you can put those useful functions anywhere you want,
in place of any others that you don't use as much as these.
For example, if you don't very often use the "infinity function"
above the "zero" key, you can make it the "angle sign" key instead,
by performing 128 CHR 102.2 ASN just once to set it up.
You can also enter and permanently store for yourself two
very short, one-line programs for the POLAR and RAD (radian)
toggle functions that used to be on the 48G keyboard,
and you can assign those functions as well to whatever
key positions you'd like to use (there are now eight or more
possible assignments per key, where holding down a shift key
before pressing another key is now distinguishable from shifting
and releasing the shift key first, so that suppplies, oh,
maybe 400 or so possible different assignments that can be
right on the main keyboard!)
Here are those one-line programs again (about the 20th time
I've posted them, for ever new waves of newsgroup readers :)
RAD toggle:
\<< -17. DUP IF FS? THEN CF ELSE SF END \>>
POLAR toggle:
\<< -16. DUP IF FS? THEN CF ELSE SF END \>>
You can name these whatever you'd like (except RAD and POLAR,
which are already built-in command names for something else :)
and then assign those quoted names to any keyboard locations.
Before anyone starts complaining that "user key assignments"
aren't working, I should point out that the entire keyboard itself
can be toggled between the default assignments (what's printed
on the keyboard) and optional user assignments, the "toggler"
function being left-shift Alpha (labeled "USER" on the keyboard);
when the display says "USR" at the top, that's when any of
*your* assignments will override those that are built-in
(if it says "1US" then press left-shift USER once more).
There are also many other commands which can separate and then
re-unite the components of complex numbers and/or vectors;
you can even use them to construct the old-style R->P and P->R
functions if you want to, and feel more comfortable with them
(you will find such functions at the links below, along with
further insights that may alter how much need is felt for them).
Here's a lot more about these topics:
http://groups.google.com/groups?selm=3B234542.CB2402A%40miu.edu
This post includes two different styles of old R->P and P->R:
http://groups.google.com/groups?selm=3B230DDB.942573D%40miu.edu
If there's anything else you'd like, "seek and you shall find,
knock and the door will open, ask and it shall be given,"
for it's all in there, thanks to a brilliant engineering company,
whose star was still shining up there when they designed all this.
> or is the feature checklist bragging about
> features only implemented in the latest unofficial rom?
I hope that as you celebrate Easter at Calvin College,
and as you try out what we said above and see for yourself
what a wonderfully capable and adaptable little computer
it really is, that your spirits will be lifted up and rise
to the occasion, and that some of that true wellspring of
life's eternal bliss comes to remain ever more permanently
in your own awareness every day, so that the things of this
manifest world, however they may be found, will be experienced
more and more in the light of inner fulfillment, in which glow
you neither expect nor find annoyance in any worldly experience.
This is what the Son of the Heavenly Father came to Earth to do,
to give human kind, if at all possible, the living experience
of Heaven on Earth, so that instead of being angry persons
ready to open up with guns and bombs and destroy each other's
flesh at any provocation, or even to fire off angry complaint at
every unexpected turn of events, each person's inner consciousness
can be so suffused with peace that you can not become perturbed
inside, you can find only peace and joy in every corner of your life,
and in this state of consciousness, you can not radiate harmfulness,
you can only uplift everyone else with whom you come into contact.
This is also the exact same thing that our own university's founder
came out of his monk's life to do, some 44 years ago, with knowledge
of one of the simplest, most natural and effortless procedures that
can exist, by which anyone can directly experience that field of
peace that is inside us all, and by regularly doing so,
can come to experience everything that is in the clearly common
teaching of all the great spiritual teachers and exponents of
fullness of life, all throughout history.
Heaven is within, and can easily be brought out into each life;
don't miss it!
http://www.mum.edu http://www.tm.org
-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 80,000 Newsgroups - 16 Different Servers! =-----
It's there, on ALPHA RS 6. ALPHA RS-hold-6 is the degree sign. =D
Thomas
--
Thomas Rast <t.r...@iname.com>
"If you cannot convince them, confuse them."
-- Harry S. Truman
jhm> [...] nor did they
jhm> put the angle symbol on the default keyboard either
> It's there, on ALPHA RS 6. ALPHA RS-hold-6 is the degree sign. =D
By "default keyboard" I meant what's printed,
but thanks for posting for the person who asked for help.
49G combinations like these are unwieldly (three keys?)
and hard to remember; previous 48G users (like me)
might rather have a close equivalent to what they used to have!
For anyone entering polar coordinates extremely often,
or desiring to switch display modes extremely often,
a Custom Menu might be even better, e.g.:
{ "\<)" "," RECT CYLIN DEG RAD } MENU
The MENU command also stores the menu into 'CST',
so that left-shift CUSTOM (or the CST key on the 48)
brings it back at any time.
By "\<)" we mean the "angle" symbol, which is...
oh, where the heck is it, again? ;-)
-[]-
.
OU812? ;-)
Next next part intriduces yet another possibility to do that. By the
way, does anybody here use vectored enter frequently?
Greetings,
Nick.
Excellent Documentation, Thanks alot
Hernan
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
You are welcome, Hernan. And I thank you (and all people) for the good words.
Greetings,
Nick.
Hi Nick,
I use vectored enter constantly. I use it to auto convert a
feet.inch16's values to decimal inches. It is a great customization
tool along with the user defined keyboard.
Regards,
Rick
NK> Next next part intriduces yet another possibility to do that. By the
NK> way, does anybody here use vectored enter frequently?
I use it all the time with JH Meyers wonderful program to keep a
history of previous commands.
- Carsten
I also use it, so we're already three in the club. But still I have
the feeling that vector enter is perhaps one the most underestimated
features of the HP49 (and the 48 of course).
Greetings,
Nick.
Me too, but I've rewritten his program in SysRPL to gain some speed =)
- Thomas
Ok, Wolfgang has asked me to send it to him, so I'll just share it here
with everyone :D
This goes into \GaENTER:
::
CK1NOLASTWD
DUPTYPECSTR? NcaseTYPEERR
DUP palparse
NOTcase ParseFail
SWAP'
ID cmds RclHiddenVar
NOT_IT NULL{}
INNERDUP #2+PICK
FPTR2 ^EQUALPOSMETA
DUP#0=ITE
2DROP
::
3PICKSWAP
#- #3+ ROLLDROP
DROP#1-
;
DUP BINT49 #>ITE
::
BINT49 #- NDROP
BINT50
;
#1+
{}N
' ID cmds StoHiddenVar
EVAL
;
You can change the BINT49s and BINT50 to adjust the number of commands
you want to keep. This is one of my best optimized programs; if you can
make it shorter, please let me know! =)
A SysRPL version of the CMD menu is:
::
CK0NOLASTWD
' ID cmds RclHiddenVar
NOTcase
::
"No saved commands" FlashWarning
;
INNERCOMP DUP#0=case
::
DROP
"No saved commands" FlashWarning
;
FALSE
{ LAM eval }
BIND
NULL$ ZERO
' ::
BINT5 #<>case FALSE
' ::
NoExitAction
{
{
"EVAL"
::
TakeOver
TRUE' LAM eval STO
FPTR 2 76
;
}
NullMenuKey
NullMenuKey
NullMenuKey
{ "CANCL" FPTR 2 77 }
{ "OK" FPTR 2 72 }
}
;
TRUE
;
FPTR 2 72
NOT?SEMI
LAM eval
ABND
case ID \GaENTER
InitEdLine
EditString
CODE
GOSBVL SAVPTR
GOSBVL CMDSIZE
GOVLNG PUSH#ALOOP
ENDCODE
STO_CURS_POS2
;
This version adds an EVAL menu key, which will directly call \GaENTER.
So, instead of pressing ENTER ENTER, you can just hit A. Thanks a lot to
Carsten who posted a Choose Engine documentation!
While we're at it, is anyone interested in a *really* fast (3 SysRPL
calls, the rest is ML) status bar replacement which shows the current
directory, R/C, =/~, VX, HEX/DEC/OCT/BIN, RAD/DEG/GRD, XYZ/R<)Z/R<)<),
and two small P(RG) A(LG) entry mode indicators in one line?
Greetings
"Nick Karagiaouroglou" <n...@imos-consulting.com> wrote in message
news:cd9ca36b.02040...@posting.google.com...
However, I'm having problems with the CMD part. I do not know much SysRPL
and therefore I can't fix it. I'm sure it is just a small detail.
I'm able to compile it but the menu labels do not show up. I get something
like Xe, ID and ID instead of EVAL, CANCEL and OK, although the
functionality is right. Can you tell what could possibly be wrong?
Thanks in advance,
Diego
Also, how do you purge the contents of the history? The UserRPL prog does
not work.
Thanks in advance,
Diego
Hmmm. It seems I've made a mistake, the F6 menu key assignment should
actually be { "OK" FPTR 2 76 } (not FPTR 2 72 as I wrote). Sorry for
that :-(
The whole program again, without mistakes I hope:
::
CK0NOLASTWD
'
ID cmds
RclHiddenVar
NOTcase
::
"No saved commands"
FlashWarning
;
INNERCOMP
DUP#0=case
::
DROP
"No saved commands"
FlashWarning
;
FALSE
{
LAM eval
}
BIND
NULL$
BINT0
'
::
BINT5
#<>case
FALSE
'
::
NoExitAction
{
{
"EVAL"
::
TakeOver
TRUE'
LAM eval
STO
FPTR 2 76
;
}
NullMenuKey
NullMenuKey
NullMenuKey
{
"CANCL"
FPTR 2 77
}
{
"OK"
FPTR 2 76
}
}
;
TRUE
;
FPTR 2 72
NOT?SEMI
LAM eval
ABND
case
ID \GaENTER
InitEdLine
EditString
CODE 00015 8FB97608F558628DC7530
STO_CURS_POS2
;
Checksums for the compiled programs:
\GaENTER: #C06Bh 116.
CMD replacement: #B6EDh 284.
> Also, how do you purge the contents of the history? The UserRPL prog does
> not work.
Well...
::
' ID cmds
PuHiddenVar
;
I don't get it. Have you checked the CRCs? (See my previous post, at the
bottom of the source code.) Maybe you've got a typo somewhere...
TR> This goes into \GaENTER:
TR> ::
TR> CK1NOLASTWD
TR> DUPTYPECSTR? NcaseTYPEERR
TR> DUP palparse
TR> NOTcase ParseFail
TR> SWAP'
TR> ID cmds RclHiddenVar
TR> NOT_IT NULL{}
TR> INNERDUP #2+PICK
TR> FPTR2 ^EQUALPOSMETA
TR> DUP#0=ITE
TR> 2DROP
TR> ::
TR> 3PICKSWAP
TR> #- #3+ ROLLDROP
TR> DROP#1-
TR> ;
TR> DUP BINT49 #>ITE
TR> ::
TR> BINT49 #- NDROP
TR> BINT50
TR> ;
TR> #1+
TR> {}N
TR> ' ID cmds StoHiddenVar
TR> EVAL
TR> ;
TR> You can change the BINT49s and BINT50 to adjust the number of commands
TR> you want to keep. This is one of my best optimized programs; if you can
TR> make it shorter, please let me know! =)
How about: (Warning: untested code ahead!!!!)
::
CK1NOLASTWD
DUPTYPECSTR? NcaseTYPEERR
DUP palparse
NOTcase ParseFail
SWAP'
ID cmds RclHiddenVar
NOT_IT NULL{}
* New code starts here
SWAP
FPTR2 ^prepvarlist
1 50 subcomp
* New code ends here
' ID cmds StoHiddenVar
EVAL
;
Here is the documentation for ^prepvarlist:
^prepvarlist ( {} ob -> {}' )
Adds ob at the beginning of the list if not
present. If ob is in the list, move ob to the
beginning of list.
I don't know of the 1 50 subcomp slows things down when no command has
been added to the list. If yes, maybe this would be faster (but
longer):
DUPLENCOMP 50 #> IT :: 1 50 SUBCOMP ;
TR> This version adds an EVAL menu key, which will directly call \GaENTER.
TR> So, instead of pressing ENTER ENTER, you can just hit A.
I just *love* this. I even put EVAL on F6, OK on F5.
Thanks a lot, Thomas.
- Carsten
What dark side? ;-)
The "yet another possibility for units of angle in complex quantities"
works without using vectored enter.
Just in case my HP49G has a dark side, other than the side opposite to
the light
source, I don't explore it, because one of the lost commands
(remember? Here are the 15 -cracles - errh, I mean the 10 commands
;-)) was "Ou blexeis! = "Thou shallt not mess up with problems you
don't need" ;-)
"Veli-Pekka Nousiainen" <DROP...@welho.com> wrote in message news:<a8ktdr$60g$1...@nyytiset.pp.htv.fi>...
%%HP: T(3)F(.);
"!RPL
!NO CODE
@"
Regards,
Diego
Thomas Rast <t.r...@freesurf.ch> wrote in
news:3CB027F8...@freesurf.ch:
I guess (haven't tried it) that the unescaped quotes (") are to blame.
Maybe you can escape them (\") or use C$ $ in front instead of the
surrounding " ".
I'm glad to hear the program's useful for you =)
Thomas Rast <t.r...@freesurf.ch> wrote in
DT> Thanks, I'll try that in the future. It is strange though, it worked fine
DT> for the \GaEnter program. One more thing, I noticed that the program does
DT> not keep the history events for things entered through the EQW and MTRW
DT> unlike the "normal" CMD history, not even when you DUPlicate or PICK and
DT> EVAL on the stack. I wonder why is that.
Because \GaENTER gets only called if you exit the command line with
ENTER, not if you exit an application (like the editor, EQW and MTRW)
which pushes something onto the stack. To force the object on stack
level 1 into the history, use a program like
:: EDITDECOMP$ ID \GaENTER ;
- Carsten
> the program does not keep the history events for things entered
> through the EQW and MTRW unlike the "normal" CMD history
Only the top-level system outer loop is calling AlphaENTER;
it's also not called from EDIT[B], by the way.
IIRC the 48G does store new matrix elements, however,
which shows that it's calling AlphaENTER from there also, apparently.
-[]-