Seventh order differential equation
显示 更早的评论
Hello,
I would like to solve this system of differential equations in Matlab (and in the end I would like to plot tau and sigma for -l and +l x values):

with these BCs:

where P, h_i, G_i, h_i are numbers (which I would like to define in the code).
Here I started with this:
% y''''''' - a*y'''''' + b*y''' - c*y' = 0
syms s x y(x) Y
Dy = diff(y);
D2y = diff(y,2);
D3y = diff(y,3);
D4y = diff(y,4);
D5y = diff(y,5);
D6y = diff(y,6);
D7y = diff(y,7);
a==10
b==60
c==40
Eqn = D7y - a*D5y + b*D3y -c*Dy == 0;
采纳的回答
更多回答(1 个)
A symbolic approach will lead you nowhere because you had to solve for the general roots of a polynomial of degree 7 which is impossible.
So think about a numerical approach.
In order to cope with the integral boundary conditions, I suggest you additionally solve for the functions
F1(y) = integral_{x=-l}^{x=y} tau dx
F2(y) = integral_{x=-l}^{x=y} sigma*x dx
by solving
dF1/dx = tau(x)
dF2/dx = sigma(x)*x
with the boundary conditions
F1(-l) = 0
F1(l) = -P
F2(-l) = 0
F2(l) = P/2 * (h_1+h_a)
Try bvp4c or bvp5c for a solution.
4 个评论
Torsten
2023-4-13
@Walter Roberson comment moved here:
However it is quite valid to set up your questions symbolically, and then to follow the workflow shown in the first example in odeFunction in order to get to a function handle for numeric use.
Torsten
2023-4-13
If you have numerical values for all the parameters of your equation, I must correct myself.
You equation is a linear ordinary differential equation of degree 7. Thus numerically solving for the roots of the characteristic polynomial and incorporating the boundary conditions should give you a symbolic solution for it.
So specify the parameters involved, define the equation and boundary conditions and call "dsolve".
Francesco Marchione
2023-4-13
Torsten
2023-4-14
Look at the examples under
They should show you how to proceed.
If you encounter problems somewhere with your code, you can come back here to ask.
类别
在 帮助中心 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


