       Functional programming; Outer; NonlinearFit

• To: mathgroup at smc.vnet.net
• Subject: [mg4147] Functional programming; Outer; NonlinearFit
• From: vvs124 at rsphy1.anu.edu.au (vvs124)
• Date: Fri, 7 Jun 1996 02:08:43 -0400
• Organization: Optical Sciences Centre, ANU
• Sender: owner-wri-mathgroup at wolfram.com

```Dear MathGroup,

Here is the kind of thing that is giving me trouble:

¥ First - I want to renormalize the list d

d := {1, 2, 3, 4}

according to the rule

Renorm[{S_, P_, N0_}] = d/b

where
b := (1+S)^(P/2)/(Sqrt[N0]).

Parameters S, P and N0 are defined in the

ParamList := {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}}

each set {S, P, N0} corresponding to the respective value of d in the
list.

I can do it for a d = const this way:

Vectors   := Table[f[i], {i, Length[ParamList]}]
RenormArray := Outer[Renorm, Vectors]
RenormNbrs  := RenormArray /. ToNumbers

But it obviously doesn't work if d has more than one element. In this
case
I end up with a whole matrix, but I only need the diagonal elements. I
am
REALLY tempted to do

RenormD = Table[RenormNbrs[[i,i]], {i, Length[[ParamList]}],

but there_should_be a more elegant way of doing this.
Can someone help me out here?

¥ Second question - does anybody have a hint for getting closer to the
global
minimum of ChiSquared in NonlinearFit (Method -> FindMinimum)? With
3-parameter
models it gets out of hand.

THANKS!

Vicki

________________________________________________________________________

Victoria Steblina                      Email: vvs124 at rsphy1.anu.edu.au

Optical Sciences Centre                Tel:   61 6 249 5129

Research School of Physical            Fax:   61 6 249 5184
Sciences and Engineering
Australian National University
Canberra, ACT 0200, Australia
________________________________________________________________________

==== [MESSAGE SEPARATOR] ====

```