Solving system of 2 nonlinear higher order coupled equation
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Antworten (1)
Torsten
am 30 Mär. 2022
You won't get an analytical solution for this problem using "dsolve".
Use bvp4c instead.
4 Kommentare
Torsten
am 30 Mär. 2022
Bearbeitet: Torsten
am 30 Mär. 2022
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.
Siehe auch
Kategorien
Mehr zu Assumptions finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!