HP Forums

Full Version: HP Prime SIZE and OBJ-> with matrices/vectors/lists
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Two questions:

1) I'm writing a program for the HP Prime where I would like to get the dimensions for an nxm matrix (user inputs the matrix).

On the 50g, I can use SIZE and I'll get the dimensions as a list {n m}. On the Prime, I only get the row dimensions n.

Any idea on how to get the column dimensions as well? Thanks.

2) Also, the 50G has the command OBJ->, spitting out all the elements (plus the dimensions) of matrices, vectors, or lists onto the stack. On the Prime, do I need to write a program to achieve this (basically, calling each element in a loop)? That's what I need SIZE for - - see above. Thanks again!

1) Try rowDim and colDim.

2) The programming language does not work on a stack, so an OBJ-> equivalent would be almost useless. Simply call each element in sequence.

1) SIZE on a matrix here seems to return { r, c } ???

2) m1(r,c) for direct access/storage.

TW

Yes, in home view you get {n m}, but not in CAS view (only n).

This brings up an interesting question - - if the user runs the program in home view vs. CAS view, are there possible inconsistencies to contend with?

Yes that works. Thanks for rowDim and colDim!

Quote:
Yes, in home view you get {n m}, but not in CAS view (only n).

This brings up an interesting question - - if the user runs the program in home view vs. CAS view, are there possible inconsistencies to contend with?



Probably because in CAS it's treated as a "vector of vectors" (with which I disagree).

Thanks for the insight . . . that would explain it . . . but then you HAVE to be in home view for things to work properly, or not?

No, the programs created normally in the program catalog are numerical in nature. Thus any call to "size" will be the correct one - whether called from the CAS or anywhere else.

CAS functions can be created, but currently only by manually creating them in the CAS environment. eg: myfunc(a,b,c):=begin a+b+c; end; [ENTER]

TW

OK Thanks!