Solve Equation for w(t)

I need to solve the following equation to w(t). I just need the real part solution. w(t) = .....
All other variables are later given in a table so I can calculate different solutions.
I´m not able to solve this in a m.file?
It would be great if someone can help me. please
Thanks a lot

7 Comments

Show us your code.
I have no code. I tried it in Maple, but it didn´t work. And in Matlab I don´t know how to do it.... sorry

Hello, i tried it with the following code:
syms rho_w w(t) p_u d_0 D_0 l h_0 t kappa m_St m_w rho_L c_w A_Q v(t) h_d lambda zeta n

eqn = (rho_w / 2) * w(t)^2 + p_u == (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 + ((l - h_0) / (l - h_0 + (d_0 / D_0)^2 * w(t) * t))^kappa + (rho_w / (m_St + m_w - rho_w * (pi / 4) * d_0^2 * w(t) * t)) * (rho_w * (pi / 4) * d_0^2 * w(t)^2 - (rho_L / 2) * c_w * A_Q * v(t)^2) * (h_0 + h_d - (d_0 / D_0)^2 * w(t) * t) + (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 * (lambda * ((h_0 - (d_0 / D_0)^2 * w(t) * t) / D_0) + sum(zeta,i,1,n)) ;

solx = solve(eqn, w(t))

This equation is now to be solved for w (t), but under the condition that v (t) is known.

Rik
Rik on 28 Feb 2021
Edited: Rik on 28 Feb 2021
The attachment is not in the Google cache, but here is the original question body:
I need to solve the following equation to w(t). I just need the real part solution. w(t) = .....
All other variables are later given in a table so I can calculate different solutions.
I´m not able to solve this in a m.file?
It would be great if someone can help me. please
Thanks a lot
Deleted comments:
Hello, i tried it with the following code:
syms rho_w w(t) p_u d_0 D_0 l h_0 t kappa m_St m_w rho_L c_w A_Q v(t) h_d lambda zeta n
eqn = (rho_w / 2) * w(t)^2 + p_u == (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 + ((l - h_0) / (l - h_0 + (d_0 / D_0)^2 * w(t) * t))^kappa + (rho_w / (m_St + m_w - rho_w * (pi / 4) * d_0^2 * w(t) * t)) * (rho_w * (pi / 4) * d_0^2 * w(t)^2 - (rho_L / 2) * c_w * A_Q * v(t)^2) * (h_0 + h_d - (d_0 / D_0)^2 * w(t) * t) + (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 * (lambda * ((h_0 - (d_0 / D_0)^2 * w(t) * t) / D_0) + sum(zeta,i,1,n)) ;
solx = solve(eqn, w(t))
This equation is now to be solved for w (t), but under the condition that v (t) is known.
(Answers Dev) Restored edit

Sign in to comment.

Answers (1)

syms rho_w w(t) p_u d_0 D_0 l h_0 t kappa m_St m_w rho_L c_w A_Q v(t) h_d lambda zeta n
syms sum_of_zeta
eqn = (rho_w / 2) * w(t)^2 + p_u == (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 + ((l - h_0) / (l - h_0 + (d_0 / D_0)^2 * w(t) * t))^kappa + (rho_w / (m_St + m_w - rho_w * (pi / 4) * d_0^2 * w(t) * t)) * (rho_w * (pi / 4) * d_0^2 * w(t)^2 - (rho_L / 2) * c_w * A_Q * v(t)^2) * (h_0 + h_d - (d_0 / D_0)^2 * w(t) * t) + (rho_w / 2) * (d_0 / D_0)^4 * w(t)^2 * (lambda * ((h_0 - (d_0 / D_0)^2 * w(t) * t) / D_0) + sum_of_zeta) ;
syms W V
eqnW = subs(eqn, w(t), W)
eqnW = 
solw = solve(eqnW, W)
Warning: Unable to find explicit solution. For options, see help.
solw = Empty sym: 0-by-1
char(eqnW)
ans = 'p_u + (W^2*rho_w)/2 == (-(h_0 - l)/(l - h_0 + (W*d_0^2*t)/D_0^2))^kappa + (rho_w*((W^2*d_0^2*rho_w*pi)/4 - (A_Q*c_w*rho_L*v(t)^2)/2)*(h_0 + h_d - (W*d_0^2*t)/D_0^2))/(m_St + m_w - (W*d_0^2*rho_w*t*pi)/4) + (W^2*d_0^4*rho_w)/(2*D_0^4) + (W^2*d_0^4*rho_w*(sum_of_zeta + (lambda*(h_0 - (W*d_0^2*t)/D_0^2))/D_0))/(2*D_0^4)'

5 Comments

If you work through the expression a bit, you will see that you have in such a way that is the roots of a polynomial of degree . There will not be any explicit solution for such a polynomial unless κ is -4, -3, -2, -1, or 0.
Look at the last line of your equation. It has an expression in multiplied by an expression in w(t) . Those multiplied together give an expression in .
Now look at the denominator in the first term on the second line of the equation, and we see that there is a division by w(t) . Clearing that division requires multiplying both sides by the denominiator, which is going to take that term and multiply it by a w(t) term, getting a term.
Now look at the last term on the first line and see that there is a w(t) in the denominator, and that the whole thing is raised to κ . Clearing out that division would require multiplying everything by the denominator, so you get another being multiplied by the giving us a polynomial in .
According to the Abel-Ruffini theorem, there are no closed form solutions for all polynomials of degree 5 or higher: you get lucky with some of them, but not in general. So you cannot count on their being a solution unless that which requires to be able to expect a formula for a solution.
No, it is not possible for that equation to have 3 complex solutions and one real solution, not unless at least one of the coefficients are complex valued. Any polynomial system that has real-valued coefficients always has an even number of real-valued roots and the complex roots are always complex conjugates. Another other combination of roots multiplies out to have complex coefficients.
"... always has an even number of real-valued roots ..."
should read
"... always has an even number of complex-valued roots ..."
James is correct, I mis-typed before.

Sign in to comment.

Categories

Products

Release

R2020b

Asked:

on 30 Jan 2021

Commented:

on 7 May 2021

Community Treasure Hunt

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

Start Hunting!