Why matlab only fives one complex result?
3 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Walter Roberson
2019-10-30
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 个评论
Walter Roberson
2019-10-30
>> 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.
更多回答(1 个)
Sai Bhargav Avula
2019-10-30
编辑:Sai Bhargav Avula
2019-10-30
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 个评论
Walter Roberson
2019-10-30
This is misleading. Producing all of the solutions does not require a global solver.
Sai Bhargav Avula
2019-10-30
It might require different intilizations to get all the solutions. So I suggested this.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!