[Date Index]
[Thread Index]
[Author Index]
Re: Re: equation question
On 28 Sep 2006, at 19:16, Daniel Lichtblau wrote:
> dimmechan at yahoo.com wrote:
>> Hello.
>>
>> Consider the following simple examples of FindRoot application.
>>
>> FindRoot[Sin[x] == 2, {x, I}]
>> {x -> 1.5707963267948966 + 1.3169578969248168*I}
>>
>> FindRoot[Sin[x^2] == 2, {x, I + 1}]
>> {x -> 1.3454777060580754 + 0.4894016047219337*I}
>>
>> FindRoot[Sin[x^2] == 2, {x, 3*I + 2}]
>> {x -> 0.3004695589886017 + 2.1914997002654357*I}
>>
>> Is it possible for FindRoot (or in general in another way) to search
>> for solutions
>> in the complex plane in an particular domain e.g. searching in the
>> domain that
>> is made by the lines Re[x]=a1, Re[x]=a2 and Im[x]=b1, Im[b]=b2 ?
>>
>> I really appreciate any assistance.
>>
>> Regards
>> Dimitris
>
> You can set it up as a minimization of a square (for multiple
> equations,
> a sum of squares) and use NMinimize, which handles such constraints.
>
> Example:
>
> In[1]:= NMinimize[{Abs[(Sin[(a+I*b)^2]-2)^2],
> {5<=a<=9, 0<=b<=2}}, {a,b}]
> -17
> Out[1]= {3.89097 10 , {a -> 5.16912, b -> 0.127387}}
>
>
> Daniel Lichtblau
> Wolfram Research
>
>
A slightly different approach is:
NMinimize[{1, {5 <= a <= 9, 0 <= b <= 2,
Abs[Sin[(a + I*b)^2] - 2] == 0}}, {a, b}]
Out[1]=
{1., {a -> 5.1691164655883295, b -> 0.12738713670869523}}
In fact, in this approach, it makes no difference, if one uses
NMinimize or NMaximize:
In[2]:=
NMaximize[{1, {5 <= a <= 9, 0 <= b <= 2,
Abs[Sin[(a + I*b)^2] - 2] == 0}}, {a, b}]
Out[2]=
{1., {a -> 5.1691164655883295, b -> 0.12738713670869523}}
On the other hand, one advantage of having Abs[Sin[(a + I*b)^2] - 2]
as the objective function is that we automatically get an idea of the
size of the residual.
Andrzej Kozlowski
Prev by Date:
**Re: Re: Performance comparison Mac OSX vs. Windows XP**
Next by Date:
**findminimum**
Previous by thread:
**Re: equation question**
Next by thread:
**Re: Re: equation question**
| |