Solution to nonlinear differential equation
    9 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
Hello, I am trying to solve the following differential equation, but I am running into some issues when using ODE45:

subject to the boundary conditions:


I broke this up into a system of two first order differential equations, but I am having trouble with the following aspects of the problem:
- How do you input initial conditions which are both given in terms of just the function (i.e. not it's derivatives)?
- ODE45 will not be able to go too far past |t|=10, so should I just set my bc's at this point?
Any help would be greatly appreciated or a indication of the correct direction for solution. Thanks in advance!
2 Commenti
  Cyrus Tirband
      
 il 29 Ott 2019
				If you're dealing with boundary conditions rather than initial conditions, it's better to use a boundary value problem solver like bvp4c. It allows you to set the values of your function at the boundaries, like you want. 
However, I'm not sure your particular equations will work. Can you double check your equation? I tried putting it in the solver but the solution is a mess and very unstable. If a is not perfectly pi/2 for t>0, it will never have a limit value. 
Risposta accettata
  darova
      
      
 il 30 Ott 2019
        Here is an attempt
function bvp4c_mathworks
solinit = bvpinit([-1 1],[0 0]);        %[-inf, inf] replaces with [-1, 1]
sol = bvp4c(@myode,@mybc,solinit);
plot(sol.x, sol.y), grid on
% legend('y(t)','x(t)')
% xlabel('t')
end
function dy = myode(t,y)
dy(1,1) = y(2);
dy(2,1) = 1/2*(1-exp(2*t))*sin(y(1));
end
function res = mybc(ya,yb)
res = [ya(1)
      yb(1)-pi/2];
end
2 Commenti
  darova
      
      
 il 31 Ott 2019
				- why did you choose the intreval [-1,1]?
It was just a shot in the dark. I like how it looks so why not. [-10 10] doesn't work for me=(
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Ordinary Differential Equations in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


