# Second order non linear differential

2 views (last 30 days)
Alessandro Meda on 1 Jun 2024
I have to solve the following equation: y''(s) + cos(y) = 0
BC: y(0) = pi/2 and y(L/4) = 0
I actually have no idea what function is the correct one in this case or even if MatLab can solve this, do you have any suggestion?
Torsten on 2 Jun 2024

Manikanta Aditya on 1 Jun 2024
Edited: Manikanta Aditya on 1 Jun 2024
Solving a second-order nonlinear differential equation analytically can be challenging, and often such equations do not have closed-form solutions. However, MATLAB can be used to solve this numerically.
You can use the ode45 function, which is a versatile solver for ordinary differential equations.
function solve_nonlinear_ode
% Initial conditions
y0 = [0; 0]; % y(0) = 0, y'(0) = 0
% Time span
tspan = [0 10];
% Solve the system
[t, y] = ode45(@nonlinear_ode, tspan, y0);
% Plot the solution
figure;
plot(t, y(:,1));
xlabel('s');
ylabel('y(s)');
title('Solution of y''''(s) + cos(y) = 0');
grid on;
end
function dydt = nonlinear_ode(~, y)
dydt = zeros(2, 1); % Initialize the output
dydt(1) = y(2); % y' = v
dydt(2) = -cos(y(1)); % v' = -cos(y)
end
I hope this helps.
Sam Chak on 2 Jun 2024
Hi Manikanta,
Thank you for your clarification. The OP has updated the description of the problem, but there does not appear to be an edit history available for tracking the changes.
However, your efforts to be helpful are commendable. It is important to remain motivated, as some individuals may not be adept at framing their problems when asking questions for the first time. However, that does not necessarily imply that their questions are simply obvious homework assignments for students.
Manikanta Aditya on 3 Jun 2024
Sure thanks @Sam Chak, Got your point!

### Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

R2024a

### Community Treasure Hunt

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

Start Hunting!