Solve a second order differential equation

hi.i want to solve this second order differential equation in matlab an plot figure. can you help me please?
d2a/de2=(((((2+c2)./(1+c2)).*(Fu.^2))+1)*(a.^c2)-((2+c2)./(1+c2)).*(Fu.^2./a)-a.^(2+(2.*c2)))./( ((2+c2)/((3+c2).*(1+c2))).*Fu.^2 );
Fu=1
c2=0,0.5,1

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 4 Nov 2020

0 votes

This is a second-order ODE which can be solved using ode45(). See the example titled "Solve Nonstiff Equation" here: https://www.mathworks.com/help/matlab/ref/ode45.html#bu3uj8b

10 commentaires

Mj
Mj le 4 Nov 2020
thanks alot. i am beginner in matlab.is it possible for you to send me the code?
Ameer Hamza
Ameer Hamza le 4 Nov 2020
Can you write your equation in MATLAB form? Then It will be easier for me to write a solution.
Mj
Mj le 4 Nov 2020
yes. the equation is :
x=(((((2+c2)./(1+c2)).*(Fu.^2))+1)*(a.^c2)-((2+c2)./(1+c2)).*(Fu.^2./a)-a.^(2+(2.*c2)))./( ((2+c2)/((3+c2).*(1+c2))).*Fu.^2 )
x=d2a/de2
Fu=1
c2=0,0.5,1
What are the initial conditions? Following code shows an example
Fu=1;
c2=0;
dAdt = @(t, A) [A(2);
(((2+c2)./(1+c2).*Fu.^2+1)*A(1).^c2-(2+c2)./(1+c2).*Fu.^2./A(1)-A(1).^(2+2.*c2)) ./( (2+c2)/((3+c2).*(1+c2)).*Fu.^2 )];
tspan = [-2 0];
IC = [1; -0.1];
[t, A] = ode45(dAdt, tspan, IC);
plot(t, A(:,1), '-o');
legend({'$\alpha$'}, 'Interpreter', 'latex', ...
'FontSize', 16, 'Location', 'best')
Mj
Mj le 4 Nov 2020
does it need initial condition? what initial condition did you use in this code?
This is the line for initial condition
IC = [1; -0.1];
First is the value for alpha and second is for d_alpha. Initial condition is applied at left side of interval in tspan.
Mj
Mj le 4 Nov 2020
Modifié(e) : Mj le 4 Nov 2020
is it possible to solve this by fourth order Rung-kutta method?
Ameer Hamza
Ameer Hamza le 4 Nov 2020
ode45() also use RK-(4,5) algorithm as desribed here: https://www.mathworks.com/help/matlab/ref/ode45.html#bu0200e-1
Mj
Mj le 4 Nov 2020
i put my initial condition instead of yours, but it did not give me the righ figure.
IC = [0.75; 0];
The alpha value as the initial condition is 0.75. But I do not have d-Alpha in the same place. Elsewhere, d-alpha value is zero.
do you know what should i do?
excuse me because of my boring questions.
Ameer Hamza
Ameer Hamza le 4 Nov 2020
This is the solution according to the equation you shared. Check if there is a mistake in writing the equation.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by