Complex roots of sin(2*x)-2*x=0

조회 수: 2 (최근 30일)
Saeid
Saeid 2021년 8월 7일
편집: Saeid 2021년 8월 8일
How can i use fsolve to obtain the complex roots of the equation: sin(2*x)-2*x=0?
  댓글 수: 1
Matt J
Matt J 2021년 8월 7일
Well, you definitely can't find more than one. fsolve is a numerical solver.

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2021년 8월 7일
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)
Equation solved. fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient.
xrts = 0.0320 + 0.0197i
.
  댓글 수: 3
Star Strider
Star Strider 2021년 8월 7일
True.
However the request was to how to return a complex root. We know nothing more about the intended problem.
.
Matt J
Matt J 2021년 8월 7일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Matt J
Matt J 2021년 8월 7일
편집: Matt J 2021년 8월 7일
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);
Equation solved, inaccuracy possible. The vector of function values is near zero, as measured by the value of the function tolerance. However, the last step was ineffective.
x=complex(p(1), p(2)),
x = 3.7488 + 1.3843i
sin(2*x)-2*x
ans = 0.0000e+00 + 2.2204e-15i
function F=eqnfun(p)
x=complex(p(1), p(2));
y=sin(2*x)-2*x;
F=[real(y); imag(y)];
end
  댓글 수: 2
Matt J
Matt J 2021년 8월 7일
There is obviously also a solution at x = -3.7488 - 1.3843i
Saeid
Saeid 2021년 8월 8일
편집: Saeid 2021년 8월 8일
Thanks Matt. Just in case you have asked yourselves how an equation like this occurs: in solving certain biharmonic equations the solution at some point requires obtaining the eigenvalues (pN) that are complex roots of this equation:
sin(2pN)=2pN
So, not only is there a complex solution to this equation, but there is apparently an infinite number of solutions

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by