Complex roots of sin(2*x)-2*x=0
2 views (last 30 days)
Show older comments
How can i use fsolve to obtain the complex roots of the equation: sin(2*x)-2*x=0?
1 Comment
Accepted Answer
Star Strider
on 7 Aug 2021
Providing fsolve with a complex initial estimate encourages it to find complex roots —
f = @(x) sin(2*x)-2*x;
xrts = fsolve(f, 1+1i)
.
3 Comments
Star Strider
on 7 Aug 2021
True.
However the request was to how to return a complex root. We know nothing more about the intended problem.
.
Matt J
on 7 Aug 2021
Providing fsolve with a complex initial estimate encourages it to find complex roots
Only if the objective is analytic, see
It's not clear to me whether that is true or not for sin(2*x)-2*x.
More Answers (1)
Matt J
on 7 Aug 2021
Edited: Matt J
on 7 Aug 2021
This seems to find a non-trivial complex root:
opts=optimoptions('fsolve','StepTol',1e-14,'FunctionTol',1e-14,'OptimalityTol',1e-14);
[p,fval]=fsolve(@eqnfun,[3,3],opts);
x=complex(p(1), p(2)),
sin(2*x)-2*x
function F=eqnfun(p)
x=complex(p(1), p(2));
y=sin(2*x)-2*x;
F=[real(y); imag(y)];
end
2 Comments
See Also
Categories
Find more on Systems of Nonlinear Equations in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!