Solve symbolic equation system

1 vue (au cours des 30 derniers jours)
Lu Zhao
Lu Zhao le 26 Fév 2021
Commenté : Lu Zhao le 2 Mar 2021
There is a symbolic equation system like this and wonder if any one could help me out by solving this equation system symbolically:
  • 4 equations with 4 unknown variables [u ̂ , v ̂, w ̂, p ̂ ]. (u^, v^, w^, p^ are function of "r", namely, u(r), v(r), w(r), p(r))
  • All other symbolic parameters are known variables, i.e., A, r, m, alpha, U(r), V(r), W(r) ).
Here are the equations:
Objective :
  1. Combine the 4 equations into 1 single equation in terms of u^ only, namely, cancel out v ̂, w ̂, p ̂ .
  2. Find expressions of v ̂, w ̂, p ̂ in terms of u^ : i.e., find expression of v^ in termed of u^, v^=f (u^). Same for expressions of w^ and p^, in terms of u^.
Here is a short program I made and I know it is not even close to the answer:
clc
clear
syms U(r) V(r) W(r) u(r) v(r) w(r) p(r) A r m alpha
% f(u, v, w, p)
eqn1=A*u+diff(U,r)*v+alpha*p==0; % f(u, v, p)=0
eqn2=-A*v-2*W/r*w+diff(p,r)==0; % f( v, w, p)=0
eqn3=(diff(W,r)+W/r)*v+A*w+m/r*p==0; % f( v, w, p)=0
eqn4=alpha*u+v/r+diff(v,r)+m/r*w==0; % f(u, v, w )=0
solve([eqn1,eqn2,eqn3,eqn4],[v w p])
The above program doesn solve for "v" w" "p" in terms of "u". I wondered is there anyway to do it? I really appreciate your time and help.

Réponse acceptée

Walter Roberson
Walter Roberson le 26 Fév 2021
That is a series of ODE. You will not be able to solve it with solve(). You could try it with
dsolve([eqn1, eqn2, eqn3, eqn4])
but the reality is that you will get back emptiness.
There is a trivial solution with u, v, r, and p all being constant 0s. Other than that there does not appear to be any closed form solutions.
Any time you have an unknown function involved U(r), V(r), W(r) then you are not going to get a closed form solution except possibly trivial solutions (like the constant zeros.)
  5 commentaires
Walter Roberson
Walter Roberson le 2 Mar 2021
Why would du/dr appear in the final equation? You do not have du/dr anywhere in the original equations.
syms U(r) V(r) W(r) u(r) v(r) w(r) p(r) A r m alpha
eqn1=A*u+diff(U,r)*v+alpha*p==0;
eqn2=-A*v-2*W/r*w+diff(p,r)==0;
eqn3=(diff(W,r)+W/r)*v+A*w+m/r*p==0;
eqn4=alpha*u+v/r+diff(v,r)+m/r*w==0;
syms pr vr wr
temp = subs([eqn1(r); eqn2(r); eqn3(r); eqn4(r)], [p(r), v(r), w(r)],[pr,vr,wr])
temp = 
PR = solve(temp(1),pr)
PR = 
temp2 = subs(temp(2:end), pr, PR)
temp2 = 
VR = solve(temp2(1),vr)
VR = 
temp3 = subs(temp2(2:end), vr, VR)
temp3 = 
WR = solve(temp3(1), wr)
WR = 
single_ode = subs(temp3(2:end), wr, WR)
single_ode = 
None of p, v, w are differentiated, so I do not see any reason why following the steps would introduce du/dr ?
Lu Zhao
Lu Zhao le 2 Mar 2021
I really appreciate your patience and explaning to me step by step. I think it's because the missing dpdr in eqn(b). Here is how I derived the final ODE by hand:
(Background information: U(r), V(r), W(r) are actually three component of velocity, to make the equations easier to solve at begining, we assume U(r)=constant, namely, d(U(r))/dr=0. )
This reduced eqn(a) to:
Actually, from eqn(b) and (c), we could get expression of v, w in terms of p:
Finally, substitute v, w, p in terms of u into the eqn(d), the final single ODE was obtained:
(My guess to the missing dudr happened when substitute v(r) w(r) p(r) with vr wr pr. It's a great way to simplify the equation, but somehow it makes the third term "dpdr=0" for eqn(b), and thus missing dudr and du^2dr^2.
Do you think is there any other way to fix this problem?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by