复数的立方根问题求助
比如:(1+2i)^3ans =
-11.0000 - 2.0000i
但是
我求 立方根
(-11.0000 - 2.0000i)^(1/3)
ans =
1.2321 - 1.8660i
也就是
((1+2i)^3)(1/3)不等于1+2i
这个问题可能很简单,可是我一直想不明白,希望高人点拨一下
有些感嘆这版块竟出现广告没人处理!? 高手们也越来越不出手:'(
先举例LZ试试便知a=2; aa=a^2
a=-2; aa=a^2
aa^(1/2)再试试syms x y
a=-2; aa=a^2
solve(subs('x^2-y',y,aa)) 回复 2 # ChaChing 的帖子
嗯嗯,多谢多谢。昨天一早确实看到了广告,而且貌似到中午都还在的 回复 1 # shuidixn 的帖子
求实根用nthroot,求全部的方根有rootsroots() 回复 4 # rocwoods 的帖子
Chaching老兄申请权限管理
吴老弟别开玩笑了!
我只是搞振动工作的老小工, matlab只是因懒得写些基本数值运算流程而採用的工具, 每次都是有需求才开始找找现成函数用用罢了! 懂得真的有限
况且私事已佔去个人绝大部分私人时间, 上工时间又被赋予以前没学过的东西, 老了又基础差, 学习新东西真的很累!
现在大都仅能来评评分顺便学习, 懒得亲手试了:@) 看: (-i)^=-1
(-1)^(1/2)=i 不等于-i
猜测的原因: 在复平面上, n次方根的逆方程有n个解, Matlab(或者一般的复变函数理论)只选择相角最小的那个解.--仅仅是我的猜测 VibrationMaster 发表于 2012-9-9 09:17 static/image/common/back.gif
看: (-i)^=-1
(-1)^(1/2)=i 不等于-i
嗯嗯,有道理,我又用8试了一下,
(8)^(1/3)
ans =
2
>> roots()
ans =
-1.0000 + 1.7321i
-1.0000 - 1.7321i
2.0000
,在后面使用roots命令时,应该怎样把这里面的实数根给取出来? 回复 7 # shuidixn 的帖子
1. 如果只有实数解, Matlab显然是没有问题.
2. 如果有多个复数解,取相角小者,比如取实数的相角就等于零. VibrationMaster 发表于 2012-9-9 18:05 static/image/common/back.gif
回复 7 # shuidixn 的帖子
1. 如果只有实数解, Matlab显然是没有问题.
不解!? 个人的了解
4^(1/2)本来就不是要求x^2=4的解
(8)^(1/3)本来就不是要求x^3=8的解
回复 9 # ChaChing 的帖子
x^2=1 有两个解,-1和1,而 1^(1/2)取正的那个
x^2=-1 也有两个解,-i和i,而(-1)^(1/2)取i
但是 x^2=i 也有两个解(Sqrt+i Sqrt)/2和(-Sqrt-i Sqrt)/2, 那i^(1/2)究竟取哪个值呢?
回复 10 # VibrationMaster 的帖子
稍微google复习下, 有些了解老师的意思了!
工程计算久了, 已经把x^2=1的解当成1^(1/2)和-1^(1/2)了
谢谢老师的耐心
页:
[1]