Using ode 45 for the shooting method

2 views (last 30 days)
Johnson
Johnson on 28 Dec 2014
Edited: Johnson on 29 Dec 2014
Dear experts,
I'm given a system of ODE's that I am able to solve using "ode45" . The system contains several initial conditions, and I am mainly interested in one of them - "k" . I want to find the value of "k" for which one of the variables (which I shall call "u") is 0 at x=20.
I have tried the following ( I give only the important parts of the code):
1. function uTWENTY=check(k)
[X,Y]=ode45(@... , [0 20] ,[... k ... ] )
uTWENTY=Y(end,4); %assuming Y(:,4) = u
end
2. function shooting
correctK=fzero(check,[0.001,1]);
%I want somewhere inside this interval 0.001,1] there must be a correct value of k
end
Unfortunately, I always get the same error: "Reference to a cleared variable k"
Will someone please help me understand how to ask MATLAB to solve "check" inside the interval [0.001,1] (where the unknown is k)?
Thanks in advance!

Accepted Answer

Jan
Jan on 28 Dec 2014
Do you mean:
correctK = fzero(@check, [0.001, 1]);
  1 Comment
Johnson
Johnson on 29 Dec 2014
Edited: Johnson on 29 Dec 2014
An Update : It worked ! (In addition to deleting the "clear all " at the start of the second function :) )
Thanks a lot !

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!