gb9813 发表于 2008-6-17 10:37

大家看看这个积分怎么做啊

大家帮忙看一下这个积分怎么做,公式在附件中,Ci(t)是一个1x512的矩阵

ch_j1985 发表于 2008-6-17 10:44

原帖由 gb9813 于 2008-6-17 10:37 发表 http://www.chinavib.com/forum/images/common/back.gif
大家帮忙看一下这个积分怎么做,公式在附件中,Ci(t)是一个1x512的矩阵
Ci(t)是常数还是含t的表达式?
可以尝试用for循环实现

gb9813 发表于 2008-6-17 11:30

Ci(t)是一个常数矩阵,里面的每一个数对应一个t,是离散的

ch_j1985 发表于 2008-6-17 12:29

原帖由 gb9813 于 2008-6-17 11:30 发表 http://www.chinavib.com/forum/images/common/back.gif
Ci(t)是一个常数矩阵,里面的每一个数对应一个t,是离散的
还是不明白LZ的意思,试试数值积分函数trapz
要不就先对Ci(t)进行拟合,得到一个函数,然后再积分

qingqing5638 发表于 2008-6-17 12:56

回复 楼主 的帖子

t=-88:4:88
for i=1:length(t)
    tt(i)=t(i)
c(i)=2*tt(i)
if c(i)>=0
    m(i)=c(i)
else
    m(i)=-c(i)

e=trapz(t,m)
end
end
写个小程序,不知对你有用吗,因为不知道你的c(i)函数怎样,我只能这样写,你自己再处理一下

gb9813 发表于 2008-6-17 14:34

谢谢楼上的,我试一下先:@)

gb9813 发表于 2008-6-17 14:46

是不是应该这样啊,因为Ci(t)是一个的矩阵,是离散的,所以是不能积分的,
zi=Ci(t)*Ts;
Ei=sum(zi);
Ts是采样间隔,也就是dt,不知道我这样理解可以吗

sigma665 发表于 2008-6-17 15:11

回复 7楼 的帖子

离散型积分,可以根据积分的定义来求
就是求和

不过,有误差

lz可以搜索离散积分,本版有讨论

gb9813 发表于 2008-6-17 16:43

恩,应该就是离散积分,求和。
公式可以用下面的程序表示吧
z1=Ci(t);
p1=z1.';
z1=p1*z1;
z1=diag(z1);
E1=z1*Ts;

sigma665 发表于 2008-6-17 16:52

回复 9楼 的帖子

这段是在循环里面的吗

请看这个
http://forum.vibunion.com/forum/thread-58149-1-1.html

gb9813 发表于 2008-6-17 17:01

可以是在循环里面的啊,如果i小的话单独拿出来用也行。上面的有个地方写错了,
for i=1:7
    zi=Ci(t);
    pi=zi.';
    zi=pi*zi;
    zi=diag(zi);
    zi=zi*Ts;
    Ei=sum(zi);
end
页: [1]
查看完整版本: 大家看看这个积分怎么做啊