[Date Index]
[Thread Index]
[Author Index]
multiple outputs from a function
*To*: mathgroup at smc.vnet.net
*Subject*: [mg52753] multiple outputs from a function
*From*: Ben Barrowes <barrowes at alum.mit.edu>
*Date*: Sat, 11 Dec 2004 05:22:57 -0500 (EST)
*Sender*: owner-wri-mathgroup at wolfram.com
I feel I must be missing something fundamental...
How do you write a function (or ?) in Mathematica which produces more
than one output?
Let's say I have some data and I want a single function to calculate the
mean, variance, std, etc, more than one thing and return those? I know
that there are builtin functions for those parameters, but the point is
I want to define functions with more than one output.
The only examples I can find are along the lines of:
f[x_,y_]:=x^2+y^2;
which have only a single result.
Is there a different structure altogether, such as a Subroutine, which
allows multiple results from a single subunit?
One thought I had was that because Mathematica treats everything as
global unless defined specifically local (e.g. in a module), that
variables used in a procedure would be accessible and would thus be a
"result", but it seems scoping problems would arise if this was used too
often. For example:
In[67]:=
t1[x_,y_]:=(a1=x^2+y;a2=x+y^2;x+y)
In[68]:=
t2=t1[5,6]
Out[68]=
11
In[69]:=
a1
Out[69]=
31
In[70]:=
a2
Out[70]=
41
Is this the accepted method for extracting multiple results from one
function definition?
Ben Barrowes
Prev by Date:
**Re: a strange line of code**
Next by Date:
**Re: Solve bug?**
Previous by thread:
**Re: How input stacked characters with vertical bar**
Next by thread:
**Re: multiple outputs from a function**
| |