24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1977  |  回复: 23

eastsunsong

金虫 (著名写手)


[交流] 高中幂函数的延伸,求助

高中数学仅仅讨论了X^a=b(X>0,a为整数)的情形,现在问题来了:
(-2)^0.2=?
MATLAB给出结果是0.9293 + 0.6752i
excel结果是-1.14869835500

多值函数,貌似可以理解,但是:
MATLAB为什么只给出了一个结果?
(-2)^0.4=?
excel计算不出来了,显示"#NUM!"
MATLAB给出结果是0.4078 + 1.2549i

依照高中所学数学知识:
(-2)^0.4=[(-2)^0.2]^2= 1.3195,哪里出错了,难道是在a为小数的情况下不适用?
有没有系统描述幂函数的资料,请大家推介一下.万分感谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alpha94

金虫 (小有名气)



eastsunsong(金币+1):谢谢参与
确实是个高中问题。一般的,  (-2)^0.4表示的是一个实数,也就是所谓的方根。实际上,(-2)^0.4是(-2)^2的五次方根。如果你用软件计算的话,一般的要输入整数的开方和幂。另外软件计算的话不同的过程,会有不同的误差。
不如1/3 *3 =1
但是你要是分步算的话:
1/3=0.33,
0.33*3=0.99
2楼2011-11-14 20:42:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
2楼: Originally posted by alpha94 at 2011-11-14 20:42:02:
确实是个高中问题。一般的,  (-2)^0.4表示的是一个实数,也就是所谓的方根。实际上,(-2)^0.4是(-2)^2的五次方根。如果你用软件计算的话,一般的要输入整数的开方和幂。另外软件计算的话不同的过程,会有不同的误 ...

找你的算法 ,结果是一个实数,但是MATLAB结果却是一个复数啊
3楼2011-11-14 21:50:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

33221100

木虫 (正式写手)



eastsunsong(金币+1):谢谢参与
Mathematica: 0.929316 + 0.675188 I
4楼2011-11-14 21:53:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

33221100

木虫 (正式写手)



eastsunsong(金币+1):谢谢参与
Mathematica:
0.9293164906031477 + 0.6751879523998812 I
5楼2011-11-14 21:55:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

33221100

木虫 (正式写手)


Mathematica :
(-2)^0.4=0.4077503686410061 + 1.254926596843565 I
6楼2011-11-14 21:59:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cars

金虫 (小有名气)



eastsunsong(金币+1):谢谢参与
当指数取整数时是高中的知识,为有理数时应该就不是了,为无理数时就超过一般的大学内容了。
可以百度一下“幂函数”。
但matlab与之有点小不一样。对于x^(p/q),p和q互质。
,matlab采用(x^(1/q))^p,百度中定义的是(x^p)^(1/q)。
即(-2)^0.4,matlab为[(-2)^(1/5)]^2为复数,按百度定义为
[(-2)^2]^(1/5)=1.1487。
对于x^(p/q)定义是一致的。
X^(1/q)的定义是r*exp(j*w/q),[其中r=abs(x),w=angle(x),对于x为实数的情况,w=0或pi]。
7楼2011-11-15 09:12:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

839967781

木虫 (职业作家)



eastsunsong(金币+1):谢谢参与
实是个高中问题。一般的,  (-2)^0.4表示的是一个实数,也就是所谓的方根。实际上,(-2)^0.4是(-2)^2的五次方根。如果你用软件计算的话,一般的要输入整数的开方和幂。另外软件计算的话不同的过程,会有不同的误差。
不如1/3 *3 =1
但是你要是分步算的话:
1/3=0.33,
0.33*3=0.99
8楼2011-11-15 10:50:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong(金币+1):谢谢参与
引用回帖:
1楼: Originally posted by eastsunsong at 2011-11-14 15:25:39:
高中数学仅仅讨论了X^a=b(X>0,a为整数)的情形,现在问题来了:
(-2)^0.2=?
MATLAB给出结果是0.9293 + 0.6752i
excel结果是-1.14869835500

多值函数,貌似可以理解,但是:
MATLAB为什么只给出了一个结果?
...

一般的定义是这样的吧:

A^b=exp(b*ln(A))

对于A是复数,指数函数、对数函数也是有定义的。
例如,A=|A|e^{i \theta}, 这里theta是其幅角,这样 ln(A)=ln|A|+i\theta
就是一个复数了。

Matlab就是这样定义的,大家可以验证。
9楼2011-11-15 19:52:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
9楼: Originally posted by foxzy at 2011-11-15 19:52:43:
一般的定义是这样的吧:

A^b=exp(b*ln(A))

对于A是复数,指数函数、对数函数也是有定义的。
例如,A=|A|e^{i \theta}, 这里theta是其幅角,这样 ln(A)=ln|A|+i\theta
就是一个复数了。

Matlab就是这样 ...

你是说MATLAB中求幂都是通过A^b=exp(b*ln(A))来计算的吗?
另外A=|A|e^{i \theta}什么意思,没看懂
10楼2011-11-15 21:30:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong(金币+1):谢谢参与
引用回帖:
10楼: Originally posted by eastsunsong at 2011-11-15 21:30:27:
你是说MATLAB中求幂都是通过A^b=exp(b*ln(A))来计算的吗?
另外A=|A|e^{i \theta}什么意思,没看懂

复数的一般表达形式啊,|A|表示它的模长,如果A是实数就是其绝对值啦。theta是幅角。

你学过复数的概念吗?
11楼2011-11-15 21:36:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
11楼: Originally posted by foxzy at 2011-11-15 21:36:52:
复数的一般表达形式啊,|A|表示它的模长,如果A是实数就是其绝对值啦。theta是幅角。

你学过复数的概念吗?

看明白了,一般只想起a+bi的形式,你写的是指数形式r*exp(iθ)
12楼2011-11-15 22:17:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
12楼: Originally posted by eastsunsong at 2011-11-15 22:17:30:
看明白了,一般只想起a+bi的形式,你写的是指数形式r*exp(iθ)

对,这样表达比较好去定义指数函数和对数函数啊!
13楼2011-11-15 22:33:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuannian82

金虫 (小有名气)



eastsunsong(金币+1):谢谢参与
引用回帖:
1楼: Originally posted by eastsunsong at 2011-11-14 15:25:39:
高中数学仅仅讨论了X^a=b(X>0,a为整数)的情形,现在问题来了:
(-2)^0.2=?
MATLAB给出结果是0.9293 + 0.6752i
excel结果是-1.14869835500

多值函数,貌似可以理解,但是:
MATLAB为什么只给出了一个结果?
...

你用MATLAB算算,(0.9293 + 0.6752i)^5是不是等于-2左右?
如果是,那么求解是当作以下等式在复数域中来求解的:
,其中x=a+bi.
14楼2011-11-16 09:32:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
14楼: Originally posted by yuannian82 at 2011-11-16 09:32:54:
你用MATLAB算算,(0.9293 + 0.6752i)^5是不是等于-2左右?
如果是,那么求解是当作以下等式在复数域中来求解的:
,其中x=a+bi.

复数域求解没学过,看来数学只接触了皮毛
15楼2011-11-16 10:10:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
2楼: Originally posted by alpha94 at 2011-11-14 20:42:02:
确实是个高中问题。一般的,  (-2)^0.4表示的是一个实数,也就是所谓的方根。实际上,(-2)^0.4是(-2)^2的五次方根。如果你用软件计算的话,一般的要输入整数的开方和幂。另外软件计算的话不同的过程,会有不同的误 ...

问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1= 如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其它的四个根全为复数,包括0.9293 + 0.6752i,
如果a>0,则有一正一负两个实数根,其它的n-2个位复数根
所以MATLAB给出了(-2)^0.2的一个复数根,而excel给出了他的实数根

对于(-2)^0.4,与x^5=(±2)^2有两个根是相同的,包括一个负实数,剩余的三个根被(2)^0.4分得.
16楼2011-11-16 21:05:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
4楼: Originally posted by 33221100 at 2011-11-14 21:53:13:
Mathematica: 0.929316 + 0.675188 I

问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1= 如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其它的四个根全为复数,包括0.9293 + 0.6752i,
如果a>0,则有一正一负两个实数根,其它的n-2个位复数根
所以MATLAB给出了(-2)^0.2的一个复数根,而excel给出了他的实数根

对于(-2)^0.4,与x^5=(±2)^2有两个根是相同的,包括一个负实数,剩余的三个根被(2)^0.4分得.
17楼2011-11-16 21:06:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
7楼: Originally posted by cars at 2011-11-15 09:12:13:
当指数取整数时是高中的知识,为有理数时应该就不是了,为无理数时就超过一般的大学内容了。
可以百度一下“幂函数”。
但matlab与之有点小不一样。对于x^(p/q),p和q互质。
,matlab采用(x^(1/q))^p,百度中定义 ...

问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1= 如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其它的四个根全为复数,包括0.9293 + 0.6752i,
如果a>0,则有一正一负两个实数根,其它的n-2个位复数根
所以MATLAB给出了(-2)^0.2的一个复数根,而excel给出了他的实数根

对于(-2)^0.4,与x^5=(±2)^2有两个根是相同的,包括一个负实数,剩余的三个根被(2)^0.4分得.
18楼2011-11-16 21:06:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
9楼: Originally posted by foxzy at 2011-11-15 19:52:43:
一般的定义是这样的吧:

A^b=exp(b*ln(A))

对于A是复数,指数函数、对数函数也是有定义的。
例如,A=|A|e^{i \theta}, 这里theta是其幅角,这样 ln(A)=ln|A|+i\theta
就是一个复数了。

Matlab就是这样 ...

问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1= 如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其它的四个根全为复数,包括0.9293 + 0.6752i,
如果a>0,则有一正一负两个实数根,其它的n-2个位复数根
所以MATLAB给出了(-2)^0.2的一个复数根,而excel给出了他的实数根

对于(-2)^0.4,与x^5=(±2)^2有两个根是相同的,包括一个负实数,剩余的三个根被(2)^0.4分得.
19楼2011-11-16 21:07:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
14楼: Originally posted by yuannian82 at 2011-11-16 09:32:54:
你用MATLAB算算,(0.9293 + 0.6752i)^5是不是等于-2左右?
如果是,那么求解是当作以下等式在复数域中来求解的:
,其中x=a+bi.

问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1= 如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其它的四个根全为复数,包括0.9293 + 0.6752i,
如果a>0,则有一正一负两个实数根,其它的n-2个位复数根
所以MATLAB给出了(-2)^0.2的一个复数根,而excel给出了他的实数根

对于(-2)^0.4,与x^5=(±2)^2有两个根是相同的,包括一个负实数,剩余的三个根被(2)^0.4分得.
20楼2011-11-16 21:08:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
19楼: Originally posted by eastsunsong at 2011-11-16 21:07:30:
问题解决了,非常感谢  
           
对于一个实数a(或正或负),他的1/n次幂,均有n个根
即:a^(1/n)=1/(a^n)*exp[i(pi/n+2k*pi/n)],其中1=<k<=n
如果a<0,则有且只有一个负数根,如(-2)^0.2=-1.148,其 ...

你说的这是指数为有理数的情形,一般情形还得用我说的那种定义。
21楼2011-11-16 21:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newton19722005

金虫 (小有名气)



eastsunsong(金币+1):谢谢参与
在实数范围内,  幂是这样定义的
对a>0, 且 a≠1
当a>1时
a^x=Sup{a^r| r 当0 a^x=Sup{a^r| r>x, 且r为有理数 }
也有其它定义方法,但本质上等价. 可以看数学分析教材(有的也不讲). 这里的关键是a>0, 否则定义中的a^r可能无意义. 所以底是负数时,幂没有意义

但在复数域内, 有意义
z^a=e^(aLnz)
而且是多值的, Matlab给出的应该是一个主值
请参考任何一本复变函数教材
22楼2011-11-17 13:33:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

newton19722005

金虫 (小有名气)



eastsunsong(金币+1):谢谢参与
另外这显然不是一个高中的问题, 也可能出题的人本身就稀里糊涂
23楼2011-11-17 13:38:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

eastsunsong

金虫 (著名写手)


引用回帖:
23楼: Originally posted by newton19722005 at 2011-11-17 13:38:20:
另外这显然不是一个高中的问题, 也可能出题的人本身就稀里糊涂

不是高中试题,这是我用excel时偶然发现所想到的
24楼2011-11-17 20:05:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 eastsunsong 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见