MATLAB: Solve ODE with BC

boundaryode

Hi, I would like to solve this ODE with initial conditions y=0 and y'=0, and boundary cond L=[0,1] using the given command:
syms x y(x)
% Define first and second derivatives for y
Dy = diff(y,x);
% Define differential equation
Diff = (1i*diff(y,x)-x)^2+x^2 == 0.326307*y;
% Set initial conditions
y = y(0) == 0;
Dy = diff(y,0) == 0;
% Solve differential equation and display
Uc_sym = dsolve(Diff, y, Dy);
display(['y = ',char(10),char(Uc_sym),char(10)])
Alternatively, check out this example in the documentation.
But I am not aware on how to include the BCs and how to make this script work at all.. Can someone help?
Thanks

Best Answer

I doubt that your ode has an analytical solution - however here is a minimal working example of how to include BC's in a symbolic way:
syms y(x)
% Define first derivative for y
Dy = diff(y,x);
% Define differential equation
ode = y == Dy * x;
% Set conditions
conds = [y(0)==0, y(1)==2, Dy(0)==2, Dy(1)==2];
% Solve differential equation and display
sol = dsolve(ode, conds)
If you dont find an analytical solution use bvp4c instead to solve numeric.