Re: concatenate matrices?
- To: mathgroup at smc.vnet.net
- Subject: [mg118166] Re: concatenate matrices?
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Fri, 15 Apr 2011 03:55:27 -0400 (EDT)
Perhaps DrMajorBob has already replied, but here's my take on why folks use prefix notation: to avoid nesting brackets and/or braces. The more you do nest, the harder things may become to read at a glance. Postfix is often used for the same purpose. Another reason is so that the main idea of what's being done is the expression to the left of the postfix operator // and then the expression to the right of // is, in a sense, an "afterthought" -- oh yes, do this to what you get. For example, (* Solve a quadratic; oh, yes: then approximate it numerically *) Solve[x^2 - 7 x + 5 == 0, x] // N (* ditto; oh, yes, display enough digits in the result *) NSolve[x^2 - 7 x + 5 == 0, x] // NumberForm[#, 12] & In the latter instance, it's not only the connotation of an "afterthought" being accomplished through postfix notation. This also is avoiding a nested expression -- one that can be considerably harder to read since the second argument, 12, to NumberForm, appears only at the end of a relatively long expression: NumberForm[NSolve[x^2 - 7 x + 5 == 0, x], 12] Once you're comfortable not just with postfix notation but also pure functions (using # and &), you may well find the postfix form more transparent than the straightforward, but nested, form without postfix. Especially as the base expression becomes more complicated. On 4/14/2011 4:50 AM, Robert Rosenbaum wrote: > DrMajorBob, > > A little off topic, but I was wondering why you suggested the prefix notation >> Transpose@{y1, y2} > instead of > Transpose[{y1,y2}] > > I've noticed other people doing the same on this mailing list, and sometimes suggesting postfix as well. I would guess that Transpose[{y1,y2}] is more readily understood by most users. Is there a reason that you and others often suggest the arguably less common prefix or postfix notations? > > > Best, > Robert > > > On Apr 12, 2011, at 4:56 AM, DrMajorBob wrote: > >> Transpose@{y1, y2} >> >> Bobby >> >> On Mon, 11 Apr 2011 06:08:14 -0500, hadi motamedi<motamedi24 at gmail.com> >> wrote: >> >>> Dear All >>> I have two column matrices named y1& y2 with dimensions as 448000*1 . >>> Can you please let me know how to construct a new matrix say 'y' with >>> dimensions 448000*2 such that each column of it equals y1(or y2)? >>> Thank you >>> >> >> >> -- >> DrMajorBob at yahoo.com >> > > > > > > > -- Murray Eisenberg murray at math.umass.edu Mathematics & Statistics Dept. Lederle Graduate Research Tower phone 413 549-1020 (H) University of Massachusetts 413 545-2859 (W) 710 North Pleasant Street fax 413 545-1801 Amherst, MA 01003-9305