My query is to get roots with positive real part of an equation having variable real coefficients. An example is given below.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Sukhversha Luthra
am 5 Sep. 2017
Kommentiert: Sukhversha Luthra
am 7 Sep. 2017
clc;
w = sym('w','real');
C=1;B=2*w;A=2;
P=[C 0 -B 0 A];
R=roots(P);
Real_R=real(R);
alpha=Real_R(Real_R>0);
disp(alpha)
0 Kommentare
Akzeptierte Antwort
John D'Errico
am 5 Sep. 2017
Why use roots here? Roots is for purely numerical problems. Worse, roots provides only ONE set of roots. You are looking to find an entire family of roots, under the condition that x has a real positive part.
syms x
w = sym('w','real');
C=1;B=2*w;A=2;
P = C*x^4 - B*x^2 + A;
r = solve(P,x)
r =
-(w + (w^2 - 2)^(1/2))^(1/2)
(w - (w^2 - 2)^(1/2))^(1/2)
-(w - (w^2 - 2)^(1/2))^(1/2)
(w + (w^2 - 2)^(1/2))^(1/2)
We can see, for example, that the roots are defined for all w. But if you insist on a real positive part for a root, then only a limited domain for w will yield real roots for x. And that domain in w will probably vary for each of those 4 roots.
Remember that each of the square roots in the expressions for the roots above are principal square roots. So we take the positive branch of the sqrt function in each of those cases. And since w lives only on the real line, we can investigate for which values of w does that root have a real positive part.
Consider the first root. A little thought should convince you that this root will NEVER have a real positive part for real w, if the principal square roots are used. If you are too lazy, and wish to be convinced, try a plot:
ezplot(@(w) real(-(w + (w.^2 - 2).^(1/2)).^(1/2)),[-10,20])
How about the second root? Again, some careful thought here will convince you this one only has a positive real part if w > -sqrt(2). Yes, that is -sqrt(2).
The third root is similar to the first one. It appears to have always a negative real part, where any real part exists.
Finally, the 4th root requires that w>-sqrt)2) for a positive real part to exist.
So two of those roots do what you want, but ONLY when w>-sqrt(2).
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Particle & Nuclear Physics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!