Here's how I think I'd do this: RMS=: (+/ % #)&.:*: RMS 1 2 1 2 1.58114
-- Raul On Sat, Nov 16, 2013 at 8:20 PM, Don Kelly <[email protected]> wrote: > This is a novice problem (which arose from reading "Easy J" by Linda > Alvort > I think that I have it worked out but this is something (IMHO) that possibly > should be in a primer. > I have occasion to use what is called rms or root mean square (usually > applied to a wave form). > I can define root, mean and square and can do something like: > root mean square 1 2 1 2 > or > %:(+/%#)*: 1 2 1 2 NB. in immediate > execution > 1.58114 OK > > A natural tendency equivalent to saying mean=: +/%# > is to try > rms=: %:(+/%#)*: > But rms 1 2 1 2 fails. > However rms=: 3: ' %:(+/%#)*:y' or rms=: 13: ' %:(+/%#)*:y' > is OK > and the latter is equivalent to > rms=:[:%:[:(+/%#)*: which works > > Alternatively rms=:%:@:(+/%#)@:*: also works > > It is obvious that either the capped fork (from use of 13: or use of @: work > and I see > the reasoning behind this- forcing a sequential " root after mean after > square". > > Am I right in assuming that immediate execution of > %:(+/%#)*: y where y is explicitly entered > is treated as 3: or 13: ' %:(+/%#)*::y ' (explicitly in that the *:y > is the argument for mean(+/%#) whose value is the argument for %: i.e. as in > APL for which 'tacit' doesn't exist) > and rms=: %:(+/%#)*: as a tacit verb with no argument is parsed as a fork > rather than sequentially as desired and runs into never never land? > > The classic example of 'mean=:+/%# as a verb is misleading in that the > example is a single fork, but trying to extend it > does need a flag as to the need to emphasize the parsing. > (+/%#) *: 1 2 1 2 works but msg =:(+/%#)*: doesn't work but msg=:(+/%#)@:*: > or msg=:[:(+/%#)*: do work > > > Don Kelly > > -- > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
