Two-Point Boundary Value Problem
Show older comments
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
Torsten
on 2 Dec 2016
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.
Ketav Majumdar
on 2 Dec 2016
Torsten
on 2 Dec 2016
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.
Torsten
on 2 Dec 2016
Maybe
helps.
Best wishes
Torsten.
Bill Greene
on 3 Dec 2016
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?
Torsten
on 5 Dec 2016
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.
Answers (1)
Tamir Suliman
on 3 Dec 2016
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
Categories
Find more on Numeric Solvers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!