找回密码
 注册
Simdroid-非首页
查看: 122|回复: 3

Matlab积分出现复数

[复制链接]
发表于 2010-9-16 18:45:35 | 显示全部楼层 |阅读模式 来自 英国
本帖最后由 supersonics 于 2010-9-16 19:13 编辑

本人计算一个三角函数的积分,积分范围0-2pi,可是积出来复数了,不是很了解,麻烦各位帮忙看看,谢谢了!

syms t
f=(117*sin(2*t)*(107*cos(t)^2 - 127*sin(t)^2))/(11925*sin(2*t)^2 - 26797) - (84*cos(t)*sin(t)*(42*cos(2*t) + 169))/(11925*cos(2*t)^2 + 14872);
int(f,t,0,2*pi)

ans =

-(1717*pi*i)/1325

但是进行分段积分后就不是复数了,int(f,t,0,pi)+int(f,t,pi,2*pi),为什么?
发表于 2010-9-16 20:47:48 | 显示全部楼层 来自 四川成都
Simdroid开发平台
我的机子上运行结果是0,结果也应该是0(你可以在第二句以后加一句ezplot(f,[0,2*pi])看一下图形)。会不会是你在运算这三个语句之前没有清理workspace变量?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-9-17 08:24:03 | 显示全部楼层 来自 河北廊坊
由于我的电脑没有符号工具箱,所以用数值积分来做一下,对于震荡型的积分,用quadgk函数积分比较适合

  1. >> f=@(t)(117*sin(2*t).*(107*cos(t).^2 - 127*sin(t).^2))./(11925*sin(2*t).^2 - 26797) - (84*cos(t).*sin(t).*(42*cos(2*t) + 169))./(11925*cos(2*t).^2 + 14872);
  2. >> quadgk(f,0,2*pi)
  3. ans =
  4. -2.0817e-017
复制代码

经过计算,和ls的结果一直,为0

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-18 04:40:16 | 显示全部楼层 来自 英国
本帖最后由 supersonics 于 2010-9-18 06:33 编辑

真是谢谢二位了,我是对一个4*4的矩阵积分,那个只是其中的一项,我又搜索了一下,发现用quadv就可以不出现复数了,不过还是不明白为什么用int就不行,莫非是函数过于复杂,int是求解析解,不如用quadv求数值解
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 19:30 , Processed in 0.042224 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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