Hello
How I can determine the function P(x) here if v= zero ?
v=(5*diff(P(x), x))/14 - (5*diff(P(x), x, x))/14 + (906154630400843*3^(1/2)*diff(P(x), x)^2)/(13194139533312*P(x)*(4645044914673847/(6871947673600*P(x)) + 6803141486033789/(42949672960000*P(x)^2) - 3171541396992589/1099511627776)) - (906154630400843*3^(1/2)*P(x)*diff(P(x), x)^2)/(13194139533312*(4645044914673847/(6871947673600*P(x)) + 6803141486033789/(42949672960000*P(x)^2) - 3171541396992589/1099511627776))

댓글 수: 1

Ahmad Almasri
Ahmad Almasri 2019년 1월 5일
편집: Ahmad Almasri 2019년 1월 5일
this is the full code
syms x y P(x)
l=20e-6;
e=0.06;
d=e*l/2;
k=0;
re=300;
rs=e;
rb=1/e;
ga=1.4;
pr=0.72;
ma=0.3;
kn0=0.01;
%ha=sqrt(re*rs*rb);
ha=sqrt(re*rs*rb);
sigmau=0.85;
thu=(2-sigmau)/sigmau;
P=P(x);
kn=kn0/P;
p=2;
%ma=sqrt((1/ga)*(1/(1-(1/p))*(e/((1/re)+(rb*rs)-e))))
ma=sqrt(e);
n1=((e*re)/(ga*ma^2*ha^2));
n2=(thu*ha*sinh(ha/2));
n3=(thu^2 * ha^2 * cosh(ha/2));
n4=-cosh(ha/2);
kn=kn0./P;
u=((k-n1*diff(P,x))/((n2*kn)+(n3*kn^2)+n4))*cosh(ha*y)+k-(n1*diff(P,x));
ux=diff(u,x);
n5=(ux+(n1*diff(P, x, x)))/cosh(ha*y);
n6=((k-n1*diff(P,x))/((n2*kn)+(n3*kn^2)+n4));
n7=k-(n1*diff(P,x));
y=0.5;
v=(n1*y*diff(P,x))-((n6*sinh(ha*y)*diff(P,x))/(ha*P))-((n7*y*diff(P,x))/P)-((n5*sinh(ha*y))/ha)+((n6*sinh(ha/2)*diff(P,x))/ha*P)+((n7*diff(P,x))/(2*P))+((n5*sinh(ha/2))/ha)-((n1*diff(P,x,x))/2);

댓글을 달려면 로그인하십시오.

 채택된 답변

Star Strider
Star Strider 2019년 1월 6일

0 개 추천

When I attempted to integrate it analytically with my additions (including ‘dP’ and ‘d2P’), the result was an empty sym for ‘SPv’.
Not all differential equations have analytic integrations. If you want a numerical result, use the odeToVectorField and matlabFunction functions to create an anonymous function that the numerical ODE solvers can use ...
...such as:
syms x y P(x) P0 dP0 t Y
dP = diff(P);
d2P = diff(dP);
l=20e-6;
e=0.06;
d=e*l/2;
k=0;
re=300;
rs=e;
rb=1/e;
ga=1.4;
pr=0.72;
ma=0.3;
kn0=0.01;
%ha=sqrt(re*rs*rb);
ha=sqrt(re*rs*rb);
sigmau=0.85;
thu=(2-sigmau)/sigmau;
% P=P(x); % <— This Eliminates The Function Definition Of ‘P(x)’!
kn=kn0/P;
p=2;
%ma=sqrt((1/ga)*(1/(1-(1/p))*(e/((1/re)+(rb*rs)-e))))
ma=sqrt(e);
n1=((e*re)/(ga*ma^2*ha^2));
n2=(thu*ha*sinh(ha/2));
n3=(thu^2 * ha^2 * cosh(ha/2));
n4=-cosh(ha/2);
kn=kn0./P;
u=((k-n1*diff(P,x))/((n2*kn)+(n3*kn^2)+n4))*cosh(ha*y)+k-(n1*diff(P,x));
ux=diff(u,x);
n5=(ux+(n1*diff(P, x, x)))/cosh(ha*y);
n6=((k-n1*diff(P,x))/((n2*kn)+(n3*kn^2)+n4));
n7=k-(n1*diff(P,x));
y=0.5;
% v=(n1*y*diff(P,x))-((n6*sinh(ha*y)*diff(P,x))/(ha*P))-((n7*y*diff(P,x))/P)-((n5*sinh(ha*y))/ha)+((n6*sinh(ha/2)*diff(P,x))/ha*P)+((n7*diff(P,x))/(2*P))+((n5*sinh(ha/2))/ha)-((n1*diff(P,x,x))/2);
v=(n1*y*dP)-((n6*sinh(ha*y)*dP)/(ha*P))-((n7*y*dP)/P)-((n5*sinh(ha*y))/ha)+((n6*sinh(ha/2)*dP)/ha*P)+((n7*dP)/(2*P))+((n5*sinh(ha/2))/ha)-((n1*d2P)/2);
% SPv = dsolve(v==0, P(0)==P0, dP(0)==dP0)
[VFv,Subsv] = odeToVectorField(v);
vfun = matlabFunction(VFv, 'Vars',{t,Y})
producing:
vfun =
function_handle with value:
@(t,Y)[Y(2);Y(2)+(sqrt(3.0).*Y(2).^2.*1.92299994911867e2)./(Y(1).*(6.759429983029036e2./Y(1)+1.0./Y(1).^2.*1.58397981106159e2-2.884500097018271e3))-(sqrt(3.0).*Y(1).*Y(2).^2.*1.92299994911867e2)./(6.759429983029036e2./Y(1)+1.0./Y(1).^2.*1.58397981106159e2-2.884500097018271e3)]
or, more conveniently (with a bit of manual editing):
vfun = @(t,Y) [Y(2);Y(2)+(sqrt(3.0).*Y(2).^2.*1.92299994911867e2)./(Y(1).*(6.759429983029036e2./Y(1)+1.0./Y(1).^2.*1.58397981106159e2-2.884500097018271e3))-(sqrt(3.0).*Y(1).*Y(2).^2.*1.92299994911867e2)./(6.759429983029036e2./Y(1)+1.0./Y(1).^2.*1.58397981106159e2-2.884500097018271e3)];

댓글 수: 6

Ahmad Almasri
Ahmad Almasri 2019년 1월 6일
편집: Ahmad Almasri 2019년 1월 6일
Thank you very much
But I need the function P(x) from equation (v) when v equal to zero
I don't see it in this solution
Star Strider
Star Strider 2019년 1월 6일
My pleasure.
It is automatically in the solution. Set your initial conditions to: [0; 0].
Ahmad Almasri
Ahmad Almasri 2019년 1월 6일
I'm sorry
but please can you give me the final answer of P(x) if P(0)=2 and P(1)=1
No apologies necessary!
Your differential equaiton is nonlinear, and only a few nonlinear differential equations have analytic solutions. (Yours is not one of them.)
You did not say that this was a boundary-value problem before.
Try this:
vfun = @(t,Y) [Y(2);Y(2)+sqrt(3.0).*Y(2).^2.*1.562241717104278e-2-((sqrt(3.0).*2.022457456864508e33-sqrt(3.0).*Y(1).*1.399056394183326e35).*Y(2).^2.*8.408108779363497e-19)./(Y(1).^2.*-1.982213373120368e18+Y(1).*4.645044914673847e17+1.088502637765406e17)+sqrt(3.0).*Y(1).*Y(2).^2.*6.666666266042039e-2];
twobc = @(ya,yb) [ ya(1) - 2; yb(1) - 1 ];
solinit = bvpinit(linspace(0,1,9),[-1 0]);
sol = bvp4c(vfun,twobc,solinit);
figure
plot(sol.x, sol.y)
grid
legend('$$P(x)$$', '$\frac{dP(x)}{dx}$', 'Location','W', 'Interpreter','latex')
This creates a numerical solution that the plot call then plots.
Ahmad Almasri
Ahmad Almasri 2019년 1월 6일
Thank you very much
Star Strider
Star Strider 2019년 1월 6일
As always, my pleasure.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

질문:

2019년 1월 5일

댓글:

2019년 1월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by