请教:积分积出复数
用quad积分积出复数,怎么回事啊?我画了一下所积函数的图,也没发现复数啊,请高人指教啊~~~~~~~~~~ 把你的积分函数给一下,应该不会出现这种情况 x^0.2*cos(x) 补充:从-1到1积分 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
第二个结果应该是对的... 原帖由 amygod 于 2006-10-19 22:43 发表
x^0.2*cos(x)
很显然,当x<0的时候
x^0.2是复数 原帖由 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);
>& ...
第二个也是错的,函数给错了 楼上你确信当x<0的时候x^0.2是复数???/
明摆着不是复数。。。 原帖由 fanghuikeer 于 2006-10-20 10:48 发表
楼上你确信当x<0的时候x^0.2是复数???/
明摆着不是复数。。。
>> (-1)^0.2
ans =
0.8090 + 0.5878i
明摆着不是复数
呵呵,你给一个不是复数的例子吧 原帖由 jimin 于 2006-10-20 11:42 发表
>> (-1)^0.2
ans =
0.8090 + 0.5878i
明摆着不是复数
呵呵,你给一个不是复数的例子吧
呵呵,楼主的函数可能给错了,也许是(abs(x))^0.2. (-1)^0.2
有五个值,假如你学过复数知识的话
给你一个例子
(-1)^0.2=-1
错了吗? 有道理有道理,和(-8)^(1/3)解出来为复数是一个道理。
以前讨论过(-8)^(1/3)的问题,matlab并不是一定给出实数解。
这么说写成sign(x)*(abs(x))^0.2就可以了?
[ 本帖最后由 toes 于 2006-10-20 12:22 编辑 ] 个人了解:负数的不是整数的次方都能产生复数的 原来的函数并没给错,谢谢各位的解答~!
页:
[1]