Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Using the solution of a differential equation and minimizing the solution.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60830] Re: Using the solution of a differential equation and minimizing the solution.
  • From: dh <dh at metrohm.ch>
  • Date: Thu, 29 Sep 2005 05:43:11 -0400 (EDT)
  • References: <dhaui2$j1i$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,
Question 1:
Assuming, you have an interpolationg function in the range {a,b} and you 
want to determine a local minimum. This can be done e.g. with 
FindMinimum. It is a good idea to give FindMinimum the allowed range, to 
avoid that FindMinimum evaluates the interpolating function outside its 
range, resulting in warnings.
Here is a simple example:

d = {10, 4, 3, 3, 6, 9};
f = Interpolation[d];
FindMinimum[f[x], {x, 2, 1, Length[d]}]

Question 2:
You want to determine the minimum of ||X(zlast)-X(zfirst)|| over the 
initial conditions X,Y,X',Y' all at position: first.
You have 4 parameters to vary, what is not a small task. Therefore, it 
helps if you can guess the location of the minimum and some intervalls 
around it to guide FindMinimum.
First you would write a routine "getdiff" with a particular set of 
initial conditions as input and ||X(zlast)-X(zfirst)|| as output. Of 
course it will have to solve the ODE system and will threfore take its 
time. Because of this, it will help if you can guide FindMinimum so that 
fewer function evaluations are needed.
This function getdiff you then plug into FindMinimum.
Here is a simpe example:
getdiff[x1_, x2_, x3_, x4_] := x1^2 + x2^2 + x3^2 + x4^2;
FindMinimum[f[x1, x2, x3, x4], {x1, 1, -2,
       2}, {x2, 1, -2, 2}, {x3, 1, -2, 2}, {x4, 1, -2, 2}]

sincerely, Daniel



jctobin at gmail.com wrote:
> Hi all,
>        I am working in beam physics.I am getting used to mathematica
> now.But feel little uncomfortable doing few things.
> 
> Now I solved a differential (simulataneous ) equation in
> {X''(z),Y''(z),X(z),Y(z)} with four intial conditons and getting the
> answer for X & Y in interpolating function.I plot it for required z and
> its all fine and great and FAST!!
> 
> Question 1:
> Now I want to find the minimum of this solution X(z).How do i use the
> function FindMinimum for this interpolating function?
> 
> Question 2: In the long run I want to find the value of the intial
> conditions of the differential equation that will minimize
> ||X(zlast)-X(zfirst)|| from the solution of the differential
> equation?Any idea..Its a challenging problem.
> 
> regards,
> Beam Crazy
> 


  • Prev by Date: Re: Re: Checking for a given phrase in an expression
  • Next by Date: Re: Importing (and dealing with) multiple files
  • Previous by thread: Using the solution of a differential equation and minimizing the solution.
  • Next by thread: Re: Using the solution of a differential equation and minimizing the solution.