matlab的默认复数开方 |
您所在的位置:网站首页 › matlab开3次根号自行编写 › matlab的默认复数开方 |
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 |