       Re: Re: Re: function of a function

• To: mathgroup at smc.vnet.net
• Subject: [mg62696] Re: [mg62667] Re: [mg62650] Re: function of a function
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Thu, 1 Dec 2005 00:45:59 -0500 (EST)
• References: <200511301040.FAA07278@smc.vnet.net> <2D884FA6-65F6-4ECB-B489-D2FDB07F04FF@mimuw.edu.pl>
• Sender: owner-wri-mathgroup at wolfram.com

```I forgot to include the definition of f:

f[x_]:=Cos[x]

Andrzej

On 1 Dec 2005, at 09:26, Andrzej Kozlowski wrote:

> Actually, first equation is also solvable, but you have to use a
> "functional method" (which indeed corresponds to "solving
> infinitely many differential euations"). Here is a rather simple
> approach; more sophisticated ones are possible.
>
> We want to solve the system:
>
>
> Clear[x, f, EQ];
> EQ = {f'[x] == f[Cos[x]], f == 1};
>
>
> We are going to try to approximate the entire function f over the
> range [0,1]. This is actually a case when it can be done.We need a
> starting function that satisfies the initial condition f=1. The
> functions Cos[x] itself will do. We now do the following:
>
>
> Do[f[n] = f[n] /.
>     First[NDSolve[{D[
>       f[n][x], x] == f[n - 1][Cos[
>           x]], f[n] == 1}, f[n], {x, 0, 1}]], {n, 1, 100}]
>
> The solutions is
>
> Plot[f[x], {x, 0, 1}]
>
> By plotting
>
> Plot[{f'[x], , f[Cos[x]]}, {x, 0, 1}, PlotStyle -> {Red,
> Green}]
>
> we see that the two curves coincide perfectly.
>
> Obviously you could not expect NDSOlve to do this by itself!
>
> Andrzej Kozlowski
>
>
>
> On 30 Nov 2005, at 19:40, Andrzej Kozlowski wrote:
>
>>
>> On 30 Nov 2005, at 14:07, Narasimham wrote:
>>
>>> Jens-Peer Kuska wrote:
>>>
>>>> it can't work because f  ==1 given in your differential equation
>>>> f ' ==f  and NDSolve[] can't find the value for
>>>> f until it has integrated the equation.
>>>
>>> ???
>>>
>>>> The nested dependence is equivalent to an infinite
>>>> system of ordinary differential equations and it seems to be
>>>> hard to do this by a finte computer.
>>>
>>> I cannot understand this. In the following two examples the first
>>> one
>>> works, not the second.
>>>
>>> Clear[x,f,EQ];
>>> EQ={f'[x] == f[Cos[x]],f== 1};
>>> NDSolve[EQ,f,{x,0,4}];
>>> f[x_]=f[x]/.First[%];
>>> Plot[f[x],{x,0,4}];
>>>
>>> Clear[x,f,EQ];
>>> EQ={f'[x] == Cos[f[x]],f== 1};
>>> NDSolve[EQ,f,{x,0,4}];
>>> f[x_]=f[x]/.First[%];
>>> Plot[f[x],{x,0,4}];
>>
>>
>> Surely, you mean the second one works, the first one does not!? Also,
>> I think I agree with Jens. These cases are quite different and the
>> problem he mentione does not arise in the second case. Ine the second
>> case the derivative at a point x is defined only in terms of the
>> value of the function at x. Thus values of the function, it's
>> derivative, function etc, can be computed sequentially. In the first
>> case, however, in order to compute the derivative at x you need to
>> know the value of the function at Cos[x], which in general will not
>> be known yet. This is, I think, what Jens meant and it seems to me
>> clearly right.
>>
>>>
>>> It appears (to me) the power of programming with functions in
>>> Mathematica has not been used to the full.
>>>
>>>
>>
>> What do you mean? Can you suggest an approximation scheme for this
>> sort of problem?
>>
>> Andrzej Kozlowski
>>
>>
>>
>>> Jens-Peer Kuska wrote:
>>>> Hi,
>>>>
>>>> it can't work because f==1 give in your
>>>> differential equation
>>>> f'==f and NDSolve[] can't find the value for
>>>> f until it
>>>> has integrated the equation.
>>>> The neted dependence is equvalent to a infinite
>>>> system of
>>>> ordinary differential equations and it seems to be
>>>> hard to do
>>>> this by a finte computer.
>>>>
>>>> Regards
>>>>   Jens
>>>>
>>>> "Narasimham" <mathma18 at hotmail.com> schrieb im
>>>> Newsbeitrag news:dmha20\$932\$1 at smc.vnet.net...
>>>> | Tried to solve numerically:
>>>> |
>>>> |
>>>> 248f76d024c1ac57/0bba983777a07bc9#0bba983777a07bc9
>>>> |
>>>> | thus:
>>>> |
>>>> | EQ= { f'[x] == f[f[x]], f== 1} ;
>>>> NDSolve[EQ,f,{x,0,2}];
>>>> |
>>>> | But gives an error.  NDSolve::ndnum:
>>>> Differential equation does not
>>>> | evaluate to a number at x = 0.
>>>> |
>>>> | Also does not work even with other f values.
>>>> Any way to do that?
>>>> |
>>>
>>
>

```

• Prev by Date: Re: Types in Mathematica
• Next by Date: Re: Problem with RSolve
• Previous by thread: Re: Types in Mathematica
• Next by thread: Re: function of a function