matlab的默认复数开方

您所在的位置:网站首页 matlab开3次根号自行编写 matlab的默认复数开方

matlab的默认复数开方

2023-11-11 18:42| 来源: 网络整理| 查看: 265

matlab的默认复数开方

matlab的开方:

sqrt()

^(1/n)

都是把数字当复数去开方的

我们知道,数学上复数开方可能有多个值的:

一个一般的复数可以写成

z=r*exp(1i*phi)

现在开方这个数,开方后正实数r唯一确定,变化的是角度phi

得到的数的角度为phi/n+k*2*pi/n     k=0,1,2,3,4,…,只要这个角度在如[0,2*pi)中的话就算是对应一个解

它可以有多个,例如:

数学上(exp(1i*pi))^(1/2)有两个解,k=0对应exp(1i*pi/2),k=1对应exp(-1i*pi/2)

数学上(-27)^(1/3)有三个解,r确定为3,k=0对应3*exp(1i*pi/3),k=1对应3*exp(1i*pi)=-3,k=2对应3*exp(1i*5*pi/3)

 

在MATLAB中,首先除非使用特别函数限制处理实数,matlab会把数默认当复数处理,然后matlab处理会有多个解的复数开方问题时,会默认使用这么多解的其中之一,那怎么整呢?经测试2和3的情况,都是默认使用的是k=0的那个解:

r^(1/n)*exp(1i*phi/n)

z为正实时,默认的结果为r^(1/n),合理

z为负实时,默认的结果为r^(1/n)*exp(1i*pi/n)

这在sqrt时就开始不合理࿱



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3