フィルターのクリア

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

3 ビュー (過去 30 日間)
Ketav Majumdar
Ketav Majumdar 2016 年 11 月 21 日
回答済み: Ketav Majumdar 2016 年 11 月 23 日
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)

回答 (4 件)

Ketav Majumdar
Ketav Majumdar 2016 年 11 月 21 日
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 2016 年 11 月 22 日
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 件のコメント
Ketav Majumdar
Ketav Majumdar 2016 年 11 月 23 日
well I dont have any boundary conditions for x as thats the radial displacement of the cylinder. Ill give numerical values a shot

サインインしてコメントする。


Ketav Majumdar
Ketav Majumdar 2016 年 11 月 23 日
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 2016 年 11 月 23 日
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)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by