Effacer les filtres
Effacer les filtres

Trying to solve a system of 2 ordinary differential equations with boundary conditions

2 vues (au cours des 30 derniers jours)
Hi there, I am trying to solve a system of ordinary differential equations with boundary conditions. These equations are part of my thesis and govern thick cylinders under internal pressure. I have checked my equations with the general theroy as suggested by Gabriel Lame for thick walled cylinders. The codes simplify as follows:
A,B,C and D are the functions of E and poisson's ratio.
the boundary conditions are t=1, y=0 and at t=R, y=-P. (As in the case of cylinder with internal pressure only)
I have tried to solve it in matlab but get an [ empty sym ] in return. I have limited experience with matlab so would appreciate any help possible.
My code:
syms E nu 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);
syms x(t) y(t) eqns = [diff(x,t)==A*(x/t)+B*y, diff(y,t)==-C*(x/t^2)-D*y]; cond = [y(0) == 0, y(2)==1]; withSimplifications = dsolve(eqns, cond)

Réponses (4)

Ketav Majumdar
Ketav Majumdar le 21 Nov 2016
Correction this is my code so far
if true
%syms E nu
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);
syms x(t) y(t) eqns = [diff(x,t)==A*(x/t)+B*y, diff(y,t)==-C*(x/t^2)-D*y]; cond = [y(0) == 0, y(2)==1]; withSimplifications = dsolve(eqns, cond)
end

Torsten
Torsten le 22 Nov 2016
I doubt that your system can be solved analytically using dsolve.
Try a numerical solution with bvp4c.
If you start at t=0, problems will arise because t is in the denominator in both equations.
Furthermore, are you sure that you don't have to prescribe any boundary condition for x ?
Best wishes
Torsten.
  1 commentaire
Ketav Majumdar
Ketav Majumdar le 23 Nov 2016
well I dont have any boundary conditions for x as thats the radial displacement of the cylinder. Ill give numerical values a shot

Connectez-vous pour commenter.


Ketav Majumdar
Ketav Majumdar le 23 Nov 2016
So if managed to get something.but i get
struct with fields:
y: [1×1 sym]
x: [1×1 sym]
This is my code so far:
code:
%Mechanical Properties of Material
E=200e9;
nu=0.3;
%Constants A,B,C,D in the Equations
syms E nu
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(2)==1];
withSimplifications = dsolve(eqns, cond)
withoutSimplifications = dsolve(eqns, cond, 'IgnoreAnalyticConstraints', false)
end
how do I get the numerical values?

Ketav Majumdar
Ketav Majumdar le 23 Nov 2016
So i made changes and i have some solutions but i can't get a plot for y against t. I'm not sure how to get this solved with ode45. any suggestions?
%Mechanical Properties of Material
E=200e9;
nu=0.3;
%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(2)==1];
[ySol(t) xSol(t)] = dsolve(eqns)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by