Why matlab only fives one complex result?

Hello everyone, I have been struggling for so much time...I have been doing a complex equation (I am actually able to solve it manually but I just want to ger more familiar with Matlab). There are 3 complex solutons, however, matlab only gives me one of them. What can I do so that it gives me all 3 solutions?

 Accepted Answer

Square both sides of the equation. MATLAB will provide 3 solutions.
It is advisable to cross check the solutions, as squaring both sides can introduce false roots.

2 Comments

>> syms z
>> solve((z^(-3/2))^2 == (3-3*i)^2)
ans =
(1i/18)^(1/3)
(1i/18)^(1/3)*((3^(1/2)*1i)/2 - 1/2)
-(1i/18)^(1/3)*((3^(1/2)*1i)/2 + 1/2)
>> simplify(solve((z^(-3/2))^2 == (3-3*i)^2))
ans =
((-1)^(1/6)*18^(2/3))/18
((-1)^(1/6)*2^(2/3)*3^(1/3)*(- 1 + 3^(1/2)*1i))/12
-((-1)^(1/6)*2^(2/3)*3^(1/3)*(1 + 3^(1/2)*1i))/12
>> double(ans)
ans =
0.330450538041682 + 0.190785707092222i
-0.330450538041682 + 0.190785707092222i
0 - 0.381571414184444i
>> ans.^(-3/2)
ans =
3 - 3i
-3 + 3i
-3 + 3i
Cross-check shows there is only one solution. The claim that there are 3 solutions is incorrect.
Just one question...how can (0-0.381571414184444i)^(-3/2) be -3+3*i? I calculated it manually and it should be one of the answers...what mistake did I make?complexo power.jpg

Sign in to comment.

More Answers (1)

Hi,
MATLAB cannot generate all the Solutions, which might require a global solver.
However, if you have the Extended Symbolic Math Toolbox (access to Maple), then you can do this in Maple.
maple('_EnvAllSolutions:= true;')
This can give a generic result for the equation provided

2 Comments

This is misleading. Producing all of the solutions does not require a global solver.
It might require different intilizations to get all the solutions. So I suggested this.

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!