I want to solve This transcendental Equation which contains many roots.Please help me.

2 views (last 30 days)
x^2+x*k*(sin(omega*t+a)+sin(omega*t-a))+k^2*(1-exp(-2*x*t))*sin(omega*t+a)*sin(omega*t-a)=0; where k=100; omega=1; b=2e+4; eta=0.5; mu=50; T=20; t=1+(omega-2)/(2*pi*mu)+T/(2*pi)*(1-eta)/(1+eta)*sin((omega-2)/b); a=1;

Answers (2)

Roger Stafford
Roger Stafford on 14 Oct 2014
No, I think you are mistaken, Aman. There are only two roots, one obvious one at x = 0 and the other at
x = -0.40461336853334
You can find the first one by simple inspection and the other using matlab's 'fzero' function.
  1 Comment
Aman Kumar Singh
Aman Kumar Singh on 14 Oct 2014
Edited: Aman Kumar Singh on 14 Oct 2014
Are there also complex roots of the above equation due to the exponential of x present in the transcendental equation?

Sign in to comment.


Roger Stafford
Roger Stafford on 15 Oct 2014
Edited: Roger Stafford on 15 Oct 2014
I can think of two ways to proceed in finding complex roots to your equation. One way is to use 'fsolve' in the Optimization Toolbox in which you attempt to find simultaneous roots for the real and imaginary parts of your expression. 'fsolve' will accept two real expressions with two real unknowns. Your two unknowns would be the real and imaginary parts of X. The difficulty with this method is that you must furnish an initial estimate of where the searching starts. If there are many roots, you must try it with many initial estimates.
There is also a way that allows you to use matlab's 'fzero' function for which I will give you an outline as follows.
Your expression is:
X^2+X*k*(sin(omega*t+a)+sin(omega*t-a))+k^2*(1-exp(-2*X*t))*sin(omega*t+a)*sin(omega*t-a)
where k, omega, t, and a are predefined. The first move is to simplify things here. You can rewrite this as:
z^2+F*z-G*(1-exp(-z)) = 0
where
z = 2*t*X
F = 2*t*k*(sin(omega*t+a)+sin(omega*t-a)) % = 180.8933477195386
G = -4*t^2*k^2*sin(omega*t+a)*sin(omega*t-a) % = 117.1167273599309
Expressing z = x + y*i in terms of its real and imaginary parts (don't confuse x with X), the above equation in z can be expressed as the two equations
x^2-y^2+F*x-G+G*exp(-x)*cos(y) = 0
2*x*y+F*y-G*exp(-x)*sin(y) = 0
By multiplying by sin(y) and cos(y) appropriately these can be replace by the two equivalent equations
sin(y)*x^2+(F*sin(y)+2*y*cos(y))*x+(-(y^2+G)*sin(y)+F*y*cos(y)) = 0
(x^2-y^2+F*x-G)*cos(y)-(2*x+F)*y*sin(y)+G*exp(-x) = 0
The advantage here is that the first of these two equations has no exponential expression in x. If y is given, it is a quadratic equation in x with (in general) two roots. As it turns out, these roots are always real. A complicated factor is that for all y which are multiples of pi, there is only one root, (with the second root shooting off to infinity.)
The procedure then is to write two functions. For each of them, if y is given to the function, it first evaluates one or the other of the two roots, x, in the first expression and then generates the corresponding second expression above as its output:
f(y) = (x^2-y^2+F*x-G)*cos(y)-(2*x+F)*y*sin(y)+G*exp(-x)
This can be given to 'fzero' which then endeavors to adjust y so as to obtain a zero value for f(y).
Again you face a similar problem as in 'fsolve' in that you must furnish an initial estimate and your solution will depend on how you choose that estimate. However, here you have the advantage that you can get a feeling for where the various solutions lie by making appropriate plots of y versus f(y) to see where it appears to cross the x-axis.
One note of warning. Making such plots is not as simple as I have made it sound because f(y) can climb to extremely high values and obscure what is happening near the x-axis, so you have to choose various y-intervals carefully in seeking roots and make many different plots.
After some effort I found one complex root:
z = -2.51141841293439 + 7.40990567942265i
which would convert to X = z/(2*t):
X = -1.25978606377937 + 3.71698155145291i
I suspect you are right, Aman, that there are many more complex roots to be found perhaps infinitely many of them, but one is enough for me at this point.

Categories

Find more on Optimization in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!