Re: ConstarinedMin Question
- To: mathgroup at smc.vnet.net
- Subject: [mg30915] Re: ConstarinedMin Question
- From: <BobHanlon at aol.com>
- Date: Thu, 27 Sep 2001 02:16:32 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 2001/9/23 2:30:51 AM, Moranresearch at aol.com writes: >Why want this run? I don't undestand the error message. Thank you. > >In[28]:= >c = {6.128, 6.129, 6.129, > 6.130, 6.130, 6.130, > 6.131, 6.130}; >In[29]:= >d = {0.221, 0.452, 0.660, 0.890, > 1.092, 1.320, 1.523, > 1.748}; >In[30]:= >f1[i_, j_] := > Sum[Abs[Sqrt[(c[[1]] + i)^2 - j*d[[n]]^2] - c[[n]]], {n, 1, Length[c]}] >In[31]:= >ConstrainedMin[f1[i, j], {i < .1, j < 2}, {i, j}] c = {6.128, 6.129, 6.129, 6.130, 6.130, 6.130, 6.131, 6.130}; d = {0.221, 0.452, 0.660, 0.890, 1.092, 1.320, 1.523, 1.748}; f1[i_, j_] := Sum[Abs[Sqrt[(c[[1]] + i)^2 - j*d[[n]]^2] - c[[n]]], {n, 1, Length[c]}]; FindMinimum[f1[i,j],{i,.05,.1}, {j,1.,2.}] {0.0035030621249534377, {i -> 0.0008671585637429163, j -> -0.00797024374583214}} The minimum occurs with a negative value of j. The problem with ConstrainedMin may (?) be related to the statement in the documentation that ConstrainedMin assumes that all variables are non-negative; or, as in the case with FindMinimum, that it cannot symbolically determine the gradient of f1. The latter is the reason why two starting values are required for each variable in FindMinimum. The function can be written more compactly as f2[i_, j_] := Tr[Abs[Sqrt[(c[[1]] + i)^2 - j*d^2] - c]]; FindMinimum[f2[i,j],{i,.05,.1}, {j,1.,2.}] {0.0035030621249534377, {i -> 0.0008671585637429163, j -> -0.00797024374583214}} Bob Hanlon Chantilly, VA USA