That's a good idea that has been waiting for
someone to take it on.  Now that the book is
in pod and the other docs have been improved.

--Chris

On Fri, Jan 25, 2013 at 11:08 AM, David Mertens
<[email protected]> wrote:
> Agh, can we deprecate those wiki docs? I hate having multiple copies of the
> exact same thing, especially since this sort of work will lead to
> documentation skew.
>
>
> On Fri, Jan 25, 2013 at 7:52 AM, Chris Marshall <[email protected]>
> wrote:
>>
>> If you are talking about the wiki page,
>>
>>
>> http://sourceforge.net/apps/mediawiki/pdl/index.php?title=PDL_for_Matlab_users
>>
>> send me your sf.net user id and I can add you
>> as an editor.
>>
>> --Chris
>>
>> On Fri, Jan 25, 2013 at 2:44 AM, Lee <[email protected]> wrote:
>> > Thanks. I just tried logging in to SourceForge to put this (and which)
>> > on
>> > the Perl for Matlab page, but although I am logged in to SF, there is no
>> > edit link on the project page. Is this something for which I need to
>> > apply?
>> >
>> >
>> > On 24/01/2013 17:43, David Mertens wrote:
>> >>
>> >> I only briefly touched on "where". The "where" function is pretty
>> >> awesome
>> >> compared with Matlab because you can actually save the "slice" in a
>> >> variable
>> >> and manipulate it later. In Matlab, as I recall, you can only
>> >> manipulate a
>> >> slice on the line in which the slice is created. In PDL, you can store
>> >> the
>> >> slice in a variable and manipulate it later.
>> >>
>> >> $a = sequence(20);
>> >> $b = $a->where($a % 2 == 0);
>> >> # Make all even values in $a odd:
>> >> $b += 1;
>> >>
>> >>
>> >> On Thu, Jan 24, 2013 at 10:40 AM, David Mertens
>> >> <[email protected]
>> >> <mailto:[email protected]>> wrote:
>> >>
>> >>     Just to clarify, here's something out of the pdl shell:
>> >>
>> >>     # make 20 values from -9 to 10
>> >>     pdl> $a = zeroes(20)->xlinvals(-9, 10)
>> >>     pdl> p $a
>> >>     [-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10]
>> >>
>> >>     # get a mask of true/false
>> >>     pdl> p $a == 4
>> >>     [0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0]
>> >>
>> >>     # Get that offset:
>> >>     pdl> p which($a == 4)
>> >>     [13]
>> >>
>> >>     # Mask all values that are even:
>> >>     pdl> p $a % 2 == 0
>> >>     [0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1]
>> >>
>> >>     # Get those indices
>> >>     pdl> p which($a % 2 == 0)
>> >>     [1 3 5 7 9 11 13 15 17 19]
>> >>
>> >>     # Flip the sign of even values
>> >>     pdl> $a->where($a % 2 == 0) *= -1
>> >>     pdl> p $a
>> >>     [-9 8 -7 6 -5 4 -3 2 -1 0 1 -2 3 -4 5 -6 7 -8 9 -10]
>> >>
>> >>     # learn about approx:
>> >>     pdl> ? approx
>> >>     # use it for floating point numbers
>> >>     pdl> $a = sequence(20)->sqrt
>> >>     pdl> p $a
>> >>     [0 1  1.4142136  1.7320508 2   2.236068  2.4494897 2.6457513
>> >> 2.8284271 3  3.1622777  3.3166248  3.4641016 3.6055513  3.7416574
>> >> 3.8729833 4  4.1231056  4.2426407 4.3588989]
>> >>
>> >>     # Find the square root of 2, approximately:
>> >>     pdl> p $a->approx(1.414)
>> >>     [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
>> >>
>> >>     # The default epsilon, 1e-6, is too strict.
>> >>     # Find where $a is approximately 1.414, within 1e-3
>> >>     pdl> p $a->approx(1.414, 1e-3)
>> >>     [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
>> >>
>> >>     # Later calls to approx use same "epsilon" that we just set:
>> >>     pdl> p $a->approx(1.414)
>> >>     [0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
>> >>
>> >>     # Get the index thereof
>> >>     pdl> p which($a->approx(1.414))
>> >>     [2]
>> >>
>> >>     Hope that helps!
>> >>
>> >>
>> >>     On Thu, Jan 24, 2013 at 10:23 AM, Lee Goddard <[email protected]
>> >>     <mailto:[email protected]>> wrote:
>> >>
>> >>         Thanks.
>> >>
>> >>
>> >>         On 24/01/2013 15:50, Chris Marshall wrote:
>> >>
>> >>             which or whichND
>> >>
>> >>             On Thu, Jan 24, 2013 at 9:46 AM, Lee Goddard
>> >>             <[email protected] <mailto:[email protected]>> wrote:
>> >>
>> >>                 Is there a PDL equivalant to MATLAB's 'find(x)'
>> >>                 function, or will I need to
>> >>                 write my own?
>> >>
>> >>                 TIA
>> >>                 Lee
>> >>
>> >>                 ind = find(X)
>> >>                 locates all nonzero elements of array X, and returns
>> >>                 the linear indicies of
>> >>                 those elements in vector ind. If X is a row vector,
>> >>                 then ind is a row
>> >>                 vector; otherwise, ind is a column vector. If X
>> >>                 contains no nonzero elements
>> >>                 or is an empty array, then ind is an empty array.
>> >>
>> >>                 -- http://www.mathworks.com/help/matlab/ref/find.html
>> >>
>> >>
>> >>                 _______________________________________________
>> >>                 Perldl mailing list
>> >>                 [email protected] <mailto:[email protected]>
>> >>
>> >>                 http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>> >>
>> >>
>> >>
>> >>         _______________________________________________
>> >>         Perldl mailing list
>> >>         [email protected] <mailto:[email protected]>
>> >>
>> >>         http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>> >>
>> >>
>> >>
>> >>
>> >>     --      "Debugging is twice as hard as writing the code in the
>> >> first
>> >> place.
>> >>       Therefore, if you write the code as cleverly as possible, you
>> >> are,
>> >>       by definition, not smart enough to debug it." -- Brian Kernighan
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >>  "Debugging is twice as hard as writing the code in the first place.
>> >>   Therefore, if you write the code as cleverly as possible, you are,
>> >>   by definition, not smart enough to debug it." -- Brian Kernighan
>> >>
>> >>
>> >> _______________________________________________
>> >> Perldl mailing list
>> >> [email protected]
>> >> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>> >
>> >
>> >
>> > _______________________________________________
>> > Perldl mailing list
>> > [email protected]
>> > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>>
>> _______________________________________________
>> Perldl mailing list
>> [email protected]
>> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>
>
>
>
> --
>  "Debugging is twice as hard as writing the code in the first place.
>   Therefore, if you write the code as cleverly as possible, you are,
>   by definition, not smart enough to debug it." -- Brian Kernighan

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to