matlab对负数开立方根得到虚数的解决方案 您所在的位置:网站首页 matlab的根号 matlab对负数开立方根得到虚数的解决方案

matlab对负数开立方根得到虚数的解决方案

2024-07-09 15:16| 来源: 网络整理| 查看: 265

问题描述:在matlab中,对负数开立方根,不出意外你将得到虚数。 例如 − 27 3 \sqrt[3]{-27} 3−27 ​,我们知道其实数解是-3,但在matlab中的计算结果如下: 在这里插入图片描述 问题原因:matlab中的立方根运算是在复数域进行的,有3个,而matlab取的是辐角最小的那个。

解决方案:最小辐角是 π 3 \frac{\pi}{3} 3π​,相邻两立方根辐角之差为 2 π 3 \frac{2\pi}{3} 32π​,因此这三个根中,有一个实数根、两个复数根。

所以在matlab中对负数进行立方根运算时,可以按如下方式处理:

x = -27 root = solveCubr(x) function root = solveCubr(x) if x >= 0 root = x^(1/3) else root = cos(pi)*(abs(x)^(1/3)) end end

在这里插入图片描述

参考链接:

https://www.zhihu.com/question/23107259/answer/2132830703


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有