Solving system of 2 nonlinear higher order coupled equation
2 次查看(过去 30 天)
显示 更早的评论
syms w u2(x0) u0(x0) a A1 A2 Y
syms t om nu h a1 a2 p1
i=sqrt(-1);
% om=0.4;
% nu=0.1;
% h=1;
% a1=2;
% a2=0;
% p1=1;
% t=1;
U1(x0)=(i*p1/om)*((cosh(sqrt(i*om/nu)*x0))/(cosh(sqrt(i*om/nu)*h))-1)*exp(i*om*w*t);
A=w-om+(a1^2+a2^2)*i*nu;
B=A+a1*U1;
C= a1*diff(U1, x0);
D=i*a1*a2*U1-i*a2*A;
E=i*nu;
F=i*nu*a2;
G=(-nu/a1);
H=A*i/a1-i*nu*a1;
I=i*U1;
J=i*diff(U1,x0,2)+i*a1*A;
K=(i*nu*a2/a1);
L=A*a2/a1+a2*U1;
M=a2*diff(U1,x0);
eq1 = E*diff(u2,x0,3)-B*diff(u2,x0)-C*diff(u0,x0,2)+D*u0 == 0;
eq2 = G*diff(u0,x0,4)-H*diff(u0,x0,2)-I*diff(u0,x0)+J*u0-K*diff(u2,x0,3)+L*diff(u2,x0)+M*u2 == 0;
eq = [eq1; eq2];
bc1 = diff(u0,x0);
bc2 = diff(u0,x0,2);
bc3 = diff(u0,x0,3);
bc4 = diff(u2,x0);
bc5 = diff(u2,x0,2);
bc= [u2(1)==0; u2(-1)==0; u0(1)==0; u0(-1)==0; bc1(1)==0; bc2(1)==0; bc3(1)==0; bc4(1)==0;
bc5(1)==0; bc1(-1)==0; bc2(-1)==0; bc3(-1)==0; bc4(-1)==0; bc5(-1)==0];
var = dsolve([eq;bc])
[VF,Sbs] = odeToVectorField(eq);
odfcn = matlabFunction(VF, 'Vars',{x0,w,Y})
I don't know where I'm actually doing mistake. I need the equation u0 and u2 as a function of w. for other's you can put any value.
0 个评论
回答(1 个)
Torsten
2022-3-30
You won't get an analytical solution for this problem using "dsolve".
Use bvp4c instead.
4 个评论
Torsten
2022-3-30
编辑:Torsten
2022-3-30
I don't think it has any issue with real and complex part,...
I also don't think that this makes the ODE more difficult to solve, but I'm not sure whether bvp4c can handle complex-valued ODEs directly or if you have to split in real and imaginary part manually.
If I somehow manage to decouple above two equation, then it will be much easy to solve, I think.
Maybe, but I don't think you can resolve the coupling.
Which seems obvious for me is that this system cannot be solved symbolically.
Make an attempt with bvp4c - I think this is the ony way that promises success.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Assumptions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!