MathGroup Archive 1999

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Help needed: defining a function of a vector variable

  • To: mathgroup at smc.vnet.net
  • Subject: [mg18072] Re: [mg18016] Help needed: defining a function of a vector variable
  • From: "Andrzej Kozlowski" <andrzej at tuins.ac.jp>
  • Date: Tue, 15 Jun 1999 01:43:31 -0400
  • Delivery-date: Tue Jun 15 05:15:11 1999
  • Sender: owner-wri-mathgroup at wolfram.com

If I understad correctly what you would liketo happen then your last idea 
works fine except that you must use := and not = in your definition.

More explicitely, define the function functionarray by

In[1]:=
functionarray[d_,n_] := Array[d,n]

Now, define a value for d (define it to be a function):

In[2]:=
d[x_]:=x^2

This creates a vector values function:

In[3]:=
functionarray[d,3]
Out[3]=
{1, 4, 9}

You can also assign values to individual components:

In[4]:=
d[2]=5;functionarray[d,3]
Out[4]=
{1, 5, 9}


--
Andrzej Kozlowski
Toyama International University
JAPAN
http://sigma.tuins.ac.jp
http://eri2.tuins.ac.jp


----------
>From: iaz at cs.umd.edu (Ilya Zavorine)
To: mathgroup at smc.vnet.net
>To: mathgroup at smc.vnet.net
>Subject: [mg18072] [mg18016] Help needed: defining a function of a vector variable
>Date: Sun, Jun 13, 1999, 4:52 AM
>

> Suppose I have an object (e.g. a matrix) which I want to consider as a
function
> of several variables. For instance, suppose the matrix is diagonal of size
> N and the
> variables are its diagonal elements. Logically I can also consider the same
matrix
> as a function of a single N-vector variable which would contain the
> diagonal elements.
> How should I define my matrix? Whatever the definition is, it has to satisfy 2
> requirements:
>
> (1) I need to be able to assign values both to specific variables and to the
> whole vector.
>
> (2) The definition should be the same for any N, i.e. if I want to go from
> N = 2 to N = 3
> or even to N = 10, I do not want to rewrite the whole thing from scratch.
>
> One way of defining a matrix would be something like this:
>
> M[d1_,d2_,d3_] = DiagonalMatrix[{d1,d2,d3}];
>
> Clearly, this type of definition does not really satisfy either requirement
> since it is
> difficult to assign a value to the vector {d1,d2,d3} as a whole. Also, this
> definition
> has to be rewritten every time I change N.
>
> I've also tried doing something like this:
>
> Size = 3;
> M[d_] = Array[d,Size];
>
> This satisfies (2) but not (1). In fact Mathematica does not seem to relate
> the variable d
> in the left-hand side of the definition to the variable d inside Array.
>
> Is there a better way of doind this?
>
> Thanks for any help,
>
> Ilya

  • Prev by Date: Re: Mathematical question: Exponetial function
  • Next by Date: Re: Formatting of Equations
  • Previous by thread: Re: Mathematical question: Exponetial function
  • Next by thread: Re: Help needed: defining a function of a vector variable