Two-Point Boundary Value Problem

Hi there, I am currently trying to solve a two point boundary value problem for a system of 2 ordinary linear differential equation.
dx/dt=A(x/t)+By dy/dt=C(x/t^2)+D(y/t)
B.C y at 1=10 and y at 2=0
I have terrible matlab experience and knowledge.
This is my code so far (It doesnt work)
if true
% %Mechanical Properties of Material
E=200e9;
nu=0.3;
P=100E6;
%Constants A,B,C,D in the Equations
a11= (1/E);
a12= (-nu/E);
a33= (1/E);
A= (a12)/(a11+a12);
B= ((a33)-((2*a12^2)/(a11+a12)));
C= (a11)/(a11^2-a12^2);
D= (2*a12+a11)/(a11+a12);
%Defining the System of 2ODES
syms x(t) y(t)
t=1;
eqns = [diff(x,t)==A*(x/t)+B*y, diff(y,t)==-C*(x/t^2)-D*y];
cond = [y(0) == 0, y(1.2)==-P];
withSimplifications = dsolve(eqns, cond)
withoutSimplifications = dsolve(eqns, cond, 'IgnoreAnalyticConstraints', false)
[xSol(t), ySol(t)] = dsolve(eqns, cond)
end
Would anyone be able to give me any solutions to this problem?

6 Comments

We already told you several times that your equations don't permit an analytical solution (so "dsolve" is not the appropriate tool) and that you should use a numerical integrator (bvp4c or bvp5c) instead.
Why don't you follow the advice ?
Best wishes
Torsten.
I have tried BVP4C and 5C it doesnt work. There is a analytical solution for it, This is a cauchy euler equation. you can make x or y the subject of one equation find the derivative and substitute into the second equation. I have the hand calculations. Im not sure why matlab cant solve this
Then I suggest you try "dsolve" for the resulting Cauchy-Euler equation for x (or y).
I think MATLAB (like me) does not recognize that your system leads to this equation form.
Best wishes
Torsten.
Exactly what problem did you have solving these equations with bvp4c? Can you post your code using bvp4c? (I would have thought it could easily solve this system.) Beyond that, the description of your boundary conditions in the original post don't appear to be consistent with the cond variable you pass to dsolve. Can you clarify precisely the problem you are trying to solve?
with
U=2-D-A and V=-D+A*D-B*C
gives the solution for y.
Then
x = 1/C*t^2*dy/dt-D/C*t*y
gives the solution for x.
Best wishes
Torsten.

Sign in to comment.

Answers (1)

You will have to differneitate then solve Since
x'=A(x/t)+By --- differnetiate A(x/t)+By for y relative to t
Y' = A*(x *-1/t^2 +1/t*x' ) + BY'
at t= 1 Y =10 at t =2 y = 0
(1-B)*C(x/t^2) + D (y/t) = A*(x *-1/t^2 +1/t*x' )
sub y =10 then solve for t =1 again sub y = 0 then solve for t =2
then use diff and dsvolve with t = 1 and t =2

Asked:

on 2 Dec 2016

Commented:

on 5 Dec 2016

Community Treasure Hunt

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

Start Hunting!