what I should do-----second order variable coefficients ODE??

5 visualizzazioni (ultimi 30 giorni)
Hi, matlab person,I have some problems about second order variable coefficients ODE.
Thank you very much for any suggestion or help.
equation: x^2 y''+x y'-sin(y)cos(y)+4*k/pi*x sin(y)^2-x^2 sin(y)cos(y)=0
boundary condition: y(0)=0;y'(0)=-0.126
The following is my code, but there are several problem:
first defining function *********************************************
function yprime = skyrmion(x,y)
k=0.95;
yprime = [y(2); -1/x*y(2)+1/x^2*sin(y(1))*cos(y(1))-4*k/pi* (1/x)*sin(y(1))^2+sin(y(1))*cos(y(1))];
*********************************************************
Then transfer function
*****************************************************
xspan=[0.01,10];
y0=[-0.126;pi];
[x,y]=ode45('skyrmion',xspan,y0);
plot(x(:),y(:,2))
****************************************************
problem one:
Because The ODE was divided by x^2, so the x span can't use x==0. whether the code can be modified to not divide x^2.
problem two:
the results get by using my code are not consist with some papers.
so I want to know my code is right or wrong.
  2 Commenti
Walter Roberson
Walter Roberson il 14 Lug 2012
Modificato: Walter Roberson il 14 Lug 2012
To confirm: x is independent and there is y(x) ? In particular, it is not x(t) and y(t) ?
And y'' is diff(diff(y(x),x),x) ?
petter
petter il 15 Lug 2012
Yes,y is y(x) and y''is diff(diff(y(x),x),x) .
can you give some advise for solving this ODE.
Thank you again.

Accedi per commentare.

Risposta accettata

Star Strider
Star Strider il 14 Lug 2012
Modificato: Star Strider il 14 Lug 2012
Your initial equation:
x^2 y''+x y'-sin(y)cos(y)+x sin(y)^2-x^2 sin(y)cos(y)=0
does not contain the ‘-4*k*pi’ term that appears in your second one:
yprime = [y(2); -1/x*y(2)+1/x^2*sin(y(1))*cos(y(1)) -4*k/pi * (1/x)*sin(y(1))^2+sin(y(1))*cos(y(1))];
So should
-4*k*pi
be
-4*k*pi/x^2
instead?
I found no other problems with your conversion of the first equation to your ‘yprime’ matrix expression. You could simplify it a bit by combining the ‘sin(y)*cos(y)’ terms to ‘(1+1/x^2)*sin(y)*cos(y)’ but I doubt that would make much of a performance difference.
I believe ‘ode45’ will avoid the singularity at x=0 on its own, and search for solutions elsewhere. If you want to be certain about this, contact TMW Tech Support and ask them.
  4 Commenti
petter
petter il 16 Lug 2012
In other paper, they solved this ODE by Runge-Kutta method. the different of asymptotic behavior near x=0 is not the largest, My results are different from their results in the region of large x
In deed, their results show y appears to converge to 0 with x -> infinity. My results show trigonometric performance for large x. I feel I should consider the consideration y(infinite)=0 But I don't know how I should add the boundary condition y(infinite)=0 to ODE45.
Thank you for your help.
Star Strider
Star Strider il 16 Lug 2012
Modificato: Star Strider il 16 Lug 2012
My pleasure! The ‘ode45’ function is also a Runge-Kutta solver, according to the documentation. You and the authors you quote are both correct as I understand it. The behavior of the integrated differential equation is similar to that of ‘exp(-x)*cos(x)’ so while it approaches zero asymptotically for large x, it also remains periodic.
I doubt it is possible to add the boundary condition of y(x->infinity) -> 0 to ‘ode45’, although the function seems to do this itself. You might be able to do this with ‘bvp4c’. I have used ‘bvp4c’ once, so I do not feel qualified to comment on how you would apply it to your differential equation. I will experiment with it later.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 14 Lug 2012
Please check my transcription of your equations:
dsolve( [x^2*((D@@2)(y))(x)+x*(D(y))(x)-sin(y(x))*cos(y(x))+x*sin(y(x))^2-x^2*sin(y(x))*cos(y(x)), (D(y))(0) = 0, ((D@@2)(y))(0) = -.126])
When I use that, Maple believes there is no solution. Indeed it thinks that even when I do not provide the boundary conditions.
  1 Commento
petter
petter il 15 Lug 2012
Thank you for your reply. I have no idea about maple.Indeed,I believe my ODE has not analytical solutions. So I want to use ODE45 to get numerical solutions.
now except the problem of the singularity at x=0,other question is if I want to carry out other boundary condition such as y(infinite)=0
can you give me some advice for solving this problem?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by