Re: FindMinimum during NMimimize
- To: mathgroup at smc.vnet.net
- Subject: [mg65606] Re: FindMinimum during NMimimize
- From: dh <dh at metrohm.ch>
- Date: Tue, 11 Apr 2006 04:04:11 -0400 (EDT)
- References: <e15el3$2ri$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi Mario,
if I understand you correctly, then you want do calculate the distance
of a point r0 from a line L1. This can be calculated with much less effort.
Imagine a vector v from a point r1 on the line L1 to the given point r0.
If we then project this vector on a line L2 perpendicular to L1, the
length of the projection is the searched distance. To make life easier
we choose a unit vector u along line L2. The distance can then be got by
the scalar product v.u:
given line: y1=c0+c1 x1
r0: {x0,y0}
r1: {x1,y1} if we choose x1==0, this becames r1={0,c0}
vector parallel to L1: {1,c1}
vector perpendicular to L1: {-c1,1} (to check, take the scalar product)
Unit vector perpendicular to L1: u={-c1,1}/Sqrt[1+c1^2]
vector from r1 to r0: r0-r1= {x0,y0}-{0,c0} ={x0,y0-c0}
distance= Abs[ {x0,y0-c0}.{-c1,1}/Sqrt[1+c1^2] ]
Daniel
mfific at gmail.com wrote:
> Dear all,
>
> Math ver 5.0
> Here is my problem:
>
> discra[x_,slopex_,intx_]:=x*slopex+intx
>
> distanceOverX[ma1_,ma2_,slopex_,intx_]:=
> FindMinimum[Sqrt[(ma1-x)^2+(ma2-discra[x,slopex,intx])^2],{x,10,20}][[1]]
>
> NMinimize[{(distanceOverX[1,1,0,intx]-100)^2,0<intx<10},
> {{intx,2,3}},Methodï?®{"NelderMead","RandomSeed"ï?®15},MaxIterationsï?®100]
>
>
> I defined a function distanceOverX above that includes FindMinimum for
> x variable. And that function works fine by itslef: as an otput I take
> the minimized value.
>
> But when I used distanceOverXfunction for finding global Min using
> NMinimize, I got the error which indicates that FindMinimum could not
> do the job:
> for example: The function value ....is not a number at {x}={10}....
>
> I would appreciate for a suggestion how to unlock that problem.
> (Note that for NMinmize I let only one variable (intx) from the
> function distanceOverX to be free parameter while other values are
> provided)
>
> thank you very much,
>
> Mario Fific
>
> Cognitive Psychology and Cognitive Science
> Indiana University
>