Need Help Understanding Shooting Method

  • Thread starter tau1777
  • Start date
  • #1
30
0

Main Question or Discussion Point

I'm trying to solve a set of differential equations that all depend on a parameter, κ. I can use the system of ODEs to reduce the four equations into one second order differential equation, for y[x;κ]. I've seen certain tricks to solving equations such as d^2y/dx^2 = κ y[x].But I can not put my equation in that form. So the real trick is,how do I solve for κ and y[x] with only one equation.

My idea is as follows, I will look at the limit of the differential equation at x =0 (ODE1), and the limit of it at the other boundary x = a, (ODE2).Then I will technically have two differential equations. Then I pick a value for κ, from some physics that I know about the problem, i.e. set κ = constant. After this I solve ODE1 in the domain x= 0 to x0 and I solve ODE2 in the domain x0 to x=a. Finally I check whether or not the function y[x] matches at the point x0. If it doesn't match I try this again until I find the value of κ that makes the two sides match up.

Its the last part that I don't know how to implement? How do I use the mis-match to get me a new value of κ? I've read several sources about this idea, under "shooting method", but I really don't get how I should update the values of κ.

Thanks for reading, and any help is much appreciated.
 

Answers and Replies

  • #2
20,116
4,203
I'm trying to solve a set of differential equations that all depend on a parameter, κ. I can use the system of ODEs to reduce the four equations into one second order differential equation, for y[x;κ]. I've seen certain tricks to solving equations such as d^2y/dx^2 = κ y[x].But I can not put my equation in that form. So the real trick is,how do I solve for κ and y[x] with only one equation.

My idea is as follows, I will look at the limit of the differential equation at x =0 (ODE1), and the limit of it at the other boundary x = a, (ODE2).Then I will technically have two differential equations. Then I pick a value for κ, from some physics that I know about the problem, i.e. set κ = constant. After this I solve ODE1 in the domain x= 0 to x0 and I solve ODE2 in the domain x0 to x=a. Finally I check whether or not the function y[x] matches at the point x0. If it doesn't match I try this again until I find the value of κ that makes the two sides match up.

Its the last part that I don't know how to implement? How do I use the mis-match to get me a new value of κ? I've read several sources about this idea, under "shooting method", but I really don't get how I should update the values of κ.

Thanks for reading, and any help is much appreciated.
In the shooting method, you don't only evaluate the mismatch at one value of k. You also slightly perturb the value of k, and then see how it affects the mismatch. You numerically calculate the derivative of the mismatch wrt k, and use Newton's method to provide a new estimate of k, aimed to reducing the mismatch to zero.
 
  • #3
30
0
Thanks very much Chestermiller. I just have one more question and then I think I will get it. So using what you are saying I would do something like this:

1) pick κ1
- Solve ODE1 to get y_interior[x0]
- Solve ODE 2 to get y_exterior[x0]
- Find mismatch : δy1= y_int[x0] - y_ext[x0]

2) pick κ2
- Solve ODE1 to get y_interior_2[x0]
- Solve ODE 2 to get y_exterior_2[x0]
- Find mismatch : δy2= y_int_2[x0] - y_ext_2[x0]

Define, δκ = κ2 - κ2

In building the derivative with respect to κ, I would want δy/ δκ right? But the question that remains is do I used δy1 or δy2?

Thanks again.
 
  • #4
30
0
I posted the question in another forum, and I think they cleared up the issue. Basically I have do something like this:

1) pick κ1
- Solve ODE1 to get y_interior[x0]
- Solve ODE 2 to get y_exterior[x0]
define y1= y_int[x0] - y_ext[x0]

2) pick κ2
- Solve ODE1 to get y_interior_2[x0]
- Solve ODE 2 to get y_exterior_2[x0]
define y2= y_int_2[x0] - y_ext_2[x0]

Now define δy = y2 - y1, and δκ = κ2 - κ1, and thus I can build the derivative dδy/dδκ, which I can use to get my next guess.

This the correct method right?
 
  • #5
20,116
4,203
Thanks very much Chestermiller. I just have one more question and then I think I will get it. So using what you are saying I would do something like this:

1) pick κ1
- Solve ODE1 to get y_interior[x0]
- Solve ODE 2 to get y_exterior[x0]
- Find mismatch : δy1= y_int[x0] - y_ext[x0]

2) pick κ2
- Solve ODE1 to get y_interior_2[x0]
- Solve ODE 2 to get y_exterior_2[x0]
- Find mismatch : δy2= y_int_2[x0] - y_ext_2[x0]

Define, δκ = κ2 - κ2

In building the derivative with respect to κ, I would want δy/ δκ right? But the question that remains is do I used δy1 or δy2?

Thanks again.
It shouldn't matter much. Newton's method is iterative, so unless dy/dk is constant, you keep applying the same Newton's equation over and over again until the mismatch adequately converges to zero.
 

Related Threads on Need Help Understanding Shooting Method

  • Last Post
Replies
16
Views
1K
  • Last Post
Replies
3
Views
1K
Replies
8
Views
943
Replies
0
Views
4K
Replies
2
Views
2K
Replies
2
Views
6K
Replies
1
Views
2K
  • Last Post
Replies
1
Views
4K
Replies
2
Views
775
Replies
6
Views
7K
Top