adams8431 发表于 2009-6-9 21:09

求助;我编的一段积分程序,怎么不对啊

就是求个函数的积分,怎么数值不对呢?请各位帮帮忙啊
clear;clc
fs=1000
dt=1/fs;
t=0:dt:10-dt;

x=cos(10*t);
subplot(211);plot(t,x);grid
y=cumsum(x)/fs;
subplot(212);plot(t,y);grid

[ 本帖最后由 adams8431 于 2009-6-10 00:06 编辑 ]

friendchj 发表于 2009-6-9 22:25

试比较:
>> y(end)

ans =

   -0.0506

>> vpa(int('cos(10*x)',0,10-dt),3)

ans =

-.506e-1

这个结果应该是正确的

adams8431 发表于 2009-6-10 00:04

y=cumsum(x)/fs;就是积分语句
用函数每个点上的值乘上dt得到小矩形的面积;


但是y的幅度不对,将程序中x改一下
x=cos(t);
去掉前面的频率之后,plot的图幅值就对了,真是费解啊,不知道哪里错了
请各位帮忙看看啊

[ 本帖最后由 adams8431 于 2009-6-10 00:08 编辑 ]

ChaChing 发表于 2009-6-10 08:13

cos(10*t)的积分为0.1*sin(10*t)
结果应该是正确的

adams8431 发表于 2009-6-10 08:41

哦,明白了,呵呵
看来真是应该多交流,有时候晕了都不知道,谢谢各位
页: [1]
查看完整版本: 求助;我编的一段积分程序,怎么不对啊