声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 4027|回复: 9

[综合讨论] 怎样能正确求数的(1/3)次方?

[复制链接]
发表于 2006-7-23 23:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我要求一个数的(1/3)方。发现居然出现一个虚数。
比如(-8)^(1/3)=  1.0000 + 1.7321i
可是现在我要得到(-2)这个答案的话要怎样解决?matlab的命令应该怎样写呢?
因为我的算法其中一步要求(1/3)次方,搞不定这一步,下面的就运行不下去。各位大侠帮个忙吧。
回复
分享到:

使用道具 举报

发表于 2006-7-24 10:35 | 显示全部楼层
<<精通matlab6.5>>中这个题目是个例题,你自己看吧,很简单的说
发表于 2006-7-24 11:43 | 显示全部楼层
好像是因为有3个根,这应该算是个数学问题。但MATLAB在这一点上处理的好像也不好。
 楼主| 发表于 2006-7-25 00:37 | 显示全部楼层
我看到了精通matlab6.5的例子,可是我只要求实数的答案才能运行下面的程序,虚数就不行了。所以哪位大侠能帮解决一下。
比如:(0.2-3*x-4*y-5*z)的(1/3)次方,求
x=0.33,y=0.011,z=0.02
x=0.23,y=0.25,z=0.18
这两组的值。可是求出的是虚数。我们都知道无论是正数或是负数,求(1/3)次方都应该是实数。而我的程序必须是实数才运行的下去。所以,如何能得到实数的答案。请各位大侠指教一下。不胜感激了
发表于 2006-7-25 10:07 | 显示全部楼层
对虚数解求模,再乘以一个符号就行了。
比如-8的1/3次方,得到的是1.0000 + 1.7321i,那么先求模,再乘上sign(-8)即可。
sign(-8)*abs( (-8)^(1/3) )

评分

1

查看全部评分

发表于 2006-7-25 10:22 | 显示全部楼层
matlab求解的时候,是将-8写成8*exp(i*pi)的形式.
所以开1/3次方,由棣莫夫定理就变成8^(1/3)*exp(i*pi/3).
计算方法可以采用toes兄的方法进行求解.

[ 本帖最后由 ChaChing 于 2010-7-25 01:06 编辑 ]

评分

1

查看全部评分

发表于 2006-7-25 10:33 | 显示全部楼层
feifeifool兄强,一针见血,^_^
发表于 2006-7-25 10:45 | 显示全部楼层
我也遇到过这个问题,不知道matlab是怎么搞的
 楼主| 发表于 2006-7-26 01:22 | 显示全部楼层
非常感谢各位,程序已经可以运行了。
但有时取值不当的时候会出现下列提示:
Warning: Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).
> In D:\matlab\toolbox\optim\fmincon.m at line 213
Optimization terminated successfully:
Magnitude of directional derivative in search direction
  less than 2*options.TolFun and maximum constraint violation
  is less than options.TolCon
No Active Constraints
有谁能告诉我大概是什么意思吗?会是那里出了错误?
发表于 2007-10-12 12:30 | 显示全部楼层

正确解法

:@)
a=-8; m=[0,1,2];
R=abs(a)^(1/3); Theta=(angle(a)+2*pi*m)/3;
r=R*exp(i*Theta)

r =

   1.0000 + 1.7321i  -2.0000 + 0.0000i   1.0000 - 1.7321i

[ 本帖最后由 ChaChing 于 2010-7-25 01:05 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 09:01 , Processed in 0.076164 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表