amygod 发表于 2006-10-19 10:31

请教:积分积出复数

用quad积分积出复数,怎么回事啊?我画了一下所积函数的图,也没发现复数啊,请高人指教啊~~~~~~~~~~

happy 发表于 2006-10-19 11:00

把你的积分函数给一下,应该不会出现这种情况

amygod 发表于 2006-10-19 22:43

x^0.2*cos(x)

amygod 发表于 2006-10-19 22:44

补充:
从-1到1积分

fanghuikeer 发表于 2006-10-20 08:56

fun=inline('x.^0.2.*cos(x)') ;
>> I=quad(fun,-1,1)

I =

   1.2390 + 0.4026i

这个是我计算的结果,一时之间也不知道为什么.

下面用trapz()函数计算:
x=-1:0.1:1;
y=x.^2.*cos(x);
>> I=trapz(x,y)

I =

    0.4787
第二个结果应该是对的...

happy 发表于 2006-10-20 09:11

原帖由 amygod 于 2006-10-19 22:43 发表
x^0.2*cos(x)

很显然,当x<0的时候
x^0.2是复数

happy 发表于 2006-10-20 09:17

原帖由 fanghuikeer 于 2006-10-20 08:56 发表
fun=inline('x.^0.2.*cos(x)') ;
>> I=quad(fun,-1,1)

I =

   1.2390 + 0.4026i

这个是我计算的结果,一时之间也不知道为什么.

下面用trapz()函数计算:
x=-1:0.1:1;
y=x.^2.*cos(x);
>& ...


第二个也是错的,函数给错了

fanghuikeer 发表于 2006-10-20 10:48

楼上你确信当x<0的时候x^0.2是复数???/
明摆着不是复数。。。

jimin 发表于 2006-10-20 11:42

原帖由 fanghuikeer 于 2006-10-20 10:48 发表
楼上你确信当x<0的时候x^0.2是复数???/
明摆着不是复数。。。
>> (-1)^0.2

ans =

   0.8090 + 0.5878i
明摆着不是复数
呵呵,你给一个不是复数的例子吧

toes 发表于 2006-10-20 12:04

原帖由 jimin 于 2006-10-20 11:42 发表

>> (-1)^0.2

ans =

   0.8090 + 0.5878i
明摆着不是复数
呵呵,你给一个不是复数的例子吧


呵呵,楼主的函数可能给错了,也许是(abs(x))^0.2.

fanghuikeer 发表于 2006-10-20 12:06

(-1)^0.2
有五个值,假如你学过复数知识的话
给你一个例子
(-1)^0.2=-1
错了吗?

toes 发表于 2006-10-20 12:19

有道理有道理,和(-8)^(1/3)解出来为复数是一个道理。

以前讨论过(-8)^(1/3)的问题,matlab并不是一定给出实数解。

这么说写成sign(x)*(abs(x))^0.2就可以了?

[ 本帖最后由 toes 于 2006-10-20 12:22 编辑 ]

ydliu_zn 发表于 2006-10-20 18:14

个人了解:负数的不是整数的次方都能产生复数的

amygod 发表于 2006-10-21 13:46

原来的函数并没给错,谢谢各位的解答~!
页: [1]
查看完整版本: 请教:积分积出复数