Matrix/Array 28/48/50 Question - Printable Version +- HP Forums (https://archived.hpcalc.org/museumforum) +-- Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum-1.html) +--- Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum-2.html) +--- Thread: Matrix/Array 28/48/50 Question (/thread-224092.html) Matrix/Array 28/48/50 Question - Matt Agajanian - 06-04-2012 Hello all Can I dynamically access an array or matrix element by simply accessing it these ways: matrix/array name[var] or matrix/array name[row, col] Or am I only to use GET and PUT? Edited: 4 June 2012, 2:41 p.m. after one or more responses were posted Re: Matrix/Array 28/48/50 Question - Oliver Unter Ecker - 06-04-2012 Sadly not. You'll need to use GET or GETI. Re: Matrix/Array 28/48/50 Question - Matt Agajanian - 06-04-2012 Okay. Besides, that does follow the Postfix structure so, no matter. Just a thought. Re: Matrix/Array 28/48/50 Question - Oliver Unter Ecker - 06-04-2012 Quote: Just a thought. And not a bad one either! I picked it up in RPL+ where you can use the array syntax you suggest. You also have a choice of 1-based or 0-based indices, and automatic support for circular arrays. (But RPL+ is not available on those HP calcs.) Re: Matrix/Array 28/48/50 Question - Karl-Ludwig Butte - 06-04-2012 Hello Matt, I found the following process working for me: 'M(row,column)' EVAL @ to extract a matrix element N 'M(row, column)' STO @ to store a number N into a matrix element Instead of EVAL in the first case you can use \->NUM, too. I've tried this on the HP-49G, 49G+ and 50G. Hope this helps Regards Karl Re: Matrix/Array 28/48/50 Question - Gilles Carpentier - 06-04-2012 Hi I also use this and it works fine (49/50). Exemple to try : ``` { 5 5 } RANM 'Mat' STO @ Create a 5x5 random matrix and store it 2 'a' STO 'Mat(a,2)' EVAL @ Return the value 99 'Mat(a,2)' STO @ Store 99 in a,2 cell 'Mat(a,2)' EVAL 'Mat(5,5)' STO @ Put value of a,2 in 5,5 IF 'Mat(a,2)==Mat(5,5)' THEN "Equal value " MSGBOX END Mat @ Show result ``` It also works with 'vector' [ 1 2 3 4 5 ] 'Vect' STO 'Vect(3)' EVAL 99 'Vect(5)' STO Edited: 4 June 2012, 4:59 p.m. Re: Matrix/Array 28/48/50 Question - Oliver Unter Ecker - 06-04-2012 Apologies. I had forgotten about this option. Know though that it runs almost an order of magnitude slower! From another discussion elsewhere: Quote: ```<< [1 2 3] -> x << 1. 1000. START 'x(1)' EVAL DROP NEXT >> >> runs 6.5x slower than << [1 2 3] -> x << 1. 1000. START x 1 GET DROP NEXT >> >> And that's 9x slower if you factor out the time for << 1. 1000. START NEXT >> as one should. (On Emu-48/HP-49G.) ``` Re: Matrix/Array 28/48/50 Question - Matt Agajanian - 06-04-2012 Well, this is a new one...RPL+. Hmm. Which calcs employ RPL+ ? Re: Matrix/Array 28/48/50 Question - Matt Agajanian - 06-04-2012 Not certain which post to post this under. Thanks for all your brilliant methods to accomplish the functionality I needed. Re: Matrix/Array 28/48/50 Question - Oliver Unter Ecker - 06-04-2012 So far, RPL+ is only implemented in one iPhone app: ND1 (ND0 is a free version to try out.) If you visit the forum, you can learn about what other devices are planned to be supported in the future. If you know RPL and are just curious about what's new: RPL+ for RPL Users