Re: Collecting multiple function arguments into a List?

• To: mathgroup at smc.vnet.net
• Subject: [mg30567] Re: Collecting multiple function arguments into a List?
• From: aes <siegman at stanford.edu>
• Date: Wed, 29 Aug 2001 01:40:12 -0400 (EDT)
• Organization: Stanford University
• References: <9mfmjm\$24n\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Yes, this will work, and do what I want to accomplish -- except I think
you want to write

vars := {x1, x2, x3}

(delayed assignment), so that  you'll use the current (latest) values of
x1, x2 each time you call f1[vars].

The problem now is that the function definitions become much harder to

--AES

In article <9mfmjm\$24n\$1 at smc.vnet.net>, "Harvey P. Dale" <hpd1 at nyu.edu>
wrote:

> 	You can refer to a term in a list by its index.  For example, if
> vars = {x1, x2, x3, x4, x5, x6, x7, x8}, then vars[[2]] will produce x2.
> 	Thus, if you wish a function of x1, x2, and x4 to equal, for
> example, 2 x1 + 3 x2 - x4^2, you can define f1[varlist_]:=2 varlist[[1]]+3
> varlist[[2]] - varlist[[4]]^2.  Evaluating f1[vars] will then do what you
> wish.  You can follow this same process for f2, f3, etc.
> 	Best,
> 	Harvey
> Professor Harvey P. Dale
> Director
> National Center on Philanthropy and the Law
> New York University School of Law
> Room 206A
> 110 West 3rd Street
> New York, N.Y. 10012-1074
>
>
>  -----Original Message-----
> From: 	aes [mailto:siegman at stanford.edu]
To: mathgroup at smc.vnet.net
> Sent:	Friday, August 24, 2001 8:58 PM
> To:	mathgroup at smc.vnet.net
> Subject:	 Collecting multiple function arguments into a
> List?
>
> I have a problem with 8 input variables, call 'em  x1, x2, ... , x8, and
> I want to define a bunch of functions (using :=, not =) that depend on
> various subsets of these variables, e.g.
>
>    f1[ x1_, x2_, x4_] :=  << stuff involving x1, x2, x4 >>
>
>    f2[ x1_, x3_] :=  << stuff involving  x1 and x3 only >>
>
>    f3[[x2_, x3_, x5_, x8_} := << stuff involving x2, x3, x5, x8 >>
>
> To minimize typing and bookkeeping I'd like to define a list of the
> input variables, e.g.
>
>    vars = {x1, x2, x3, x4, x5, x6, x7, x8}
>
> and then write all the function definitions in the simplified syntax
>
>    f1[vars_] := << same stuff as above >>
>    f2[vars_] := << same stuff as above >>
>    f3[vars_] := << same stuff as above >>
>
> Can I do this?  What's the required syntax?
>
>    vars = {x1, x2, x3 ...} ??   OR   vars = {x1_, x2_, x3_} ??
>
>    fn[vars] :=  << >> ??   OR   fn[vars_] := << >>??
>
> Thanks,  siegman at stanford.edu
>
> _____________________________________________________________________
> This message has been checked for all known viruses by the
> MessageLabs Virus Scanning Service. For further information visit
> http://www.messagelabs.com/stats.asp
>

```

• Prev by Date: Re: How do I script the evaluation of a Notebook
• Next by Date: Re: Mathematica to PDF (and PDF v. PowerPoint)
• Previous by thread: RE: Collecting multiple function arguments into a List?
• Next by thread: extra vertical lines showing up in plots