Solving an Mixed Boundary Value Probelm?

2 views (last 30 days)
Avneet Singh
Avneet Singh on 23 Mar 2015
Answered: Ayush on 24 Oct 2024
Hi,
How do I solve a Mixed Boundary Value Problem with MatLab?
Thanks!
  3 Comments
Avneet Singh
Avneet Singh on 23 Mar 2015
Edited: Avneet Singh on 23 Mar 2015
One-dimensional problem of the following form:
y''(x) + f(x) y'(x) + g(x) y(x)=0 given y'(0) = a, y(1) = b
i.e. with variable coefficients. I was wondering if there is a function similar to ode45 or something to solve such problems?
Thanks,
A
Torsten
Torsten on 23 Mar 2015
help bvp4c
Best wishes
Torsten.

Sign in to comment.

Answers (1)

Ayush
Ayush on 24 Oct 2024
To solve a mixed boundary value problem (BVP) in MATLAB, as suggested by Torsten you can use the bvp4c or bvp5c functions as:
% Define the ODE system
function dydx = odefun(x, y, f, g)
dydx = [y(2); -f(x)*y(2) - g(x)*y(1)];
end
% Define the boundary conditions
function res = bcfun(ya, yb, a, b)
res = [ya(2) - a; yb(1) - b];
end
% Define f(x) and g(x) as inline functions or function handles
f = @(x) ...;
g = @(x) ...;
% Initial guess for the solution
solinit = bvpinit(linspace(0, 1, 10), [0, 0]);
% Solve the BVP
sol = bvp4c(@(x, y) odefun(x, y, f, g), @(ya, yb) bcfun(ya, yb, a, b), solinit);
% Extract and plot the solution
x = linspace(0, 1, 100);
y = deval(sol, x);
plot(x, y(1, :));
xlabel('x');
ylabel('y(x)');
title('Solution of the Mixed Boundary Value Problem');
You can refer to the documentation of bvp4c for further details: https://www.mathworks.com/help/matlab/ref/bvp4c.html
I hope it helps!

Community Treasure Hunt

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

Start Hunting!