Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

[Date Index] [Thread Index] [Author Index]

Search the Archive

Matrix Element Extraction

  • To: mathgroup at smc.vnet.net
  • Subject: [mg46622] Matrix Element Extraction
  • From: "Curt Fischer" <crf3 at po.cwru.edu>
  • Date: Wed, 25 Feb 2004 13:07:14 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

In a matrix, I want to find the positions of all the integer elements in the
rightmost column or the bottom row.

In[1]:=
mat={{1,2,1},{4,5,6},{7,8,-Infinity}}

Out[1]=
{{1,2,1},{4,5,6},{7,8,-Infinity}}

In[2]:=
Position[Map[((MemberQ[Union[Flatten[{mat[[Length[mat]]],
                mat[[All,Dimensions[mat][[
                      2]] ]]}]],#])&&(#!=-Infinity))&,mat,{2}],True]

Out[2]=
{{1,1},{1,3},{2,3},{3,1},{3,2}}

This _mostly_ does what I want, but took me forever to think of.  I'm
convinced there must be an easier way...

Especially, is there an easy way to keep the point {1,1} from appearing on
this
list, other than using a replacement rule and an If[] command?  ({1,1} is
not a position in the bottom row or right most column, so I don't want this
point returned.)

Thanks for any advice.

-- 
Curt Fischer



  • Prev by Date: Re: Running a notebook from within another
  • Next by Date: Re: Howto turn off using symbols to tag objects?
  • Previous by thread: Re: Running a notebook from within another
  • Next by thread: Re: Matrix Element Extraction