声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1630|回复: 10

[编程技巧] 大家看看这个积分怎么做啊

[复制链接]
发表于 2008-6-17 10:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

新建 Microsoft Word 文档.doc

16.5 KB, 下载次数: 15

回复
分享到:

使用道具 举报

发表于 2008-6-17 10:44 | 显示全部楼层

Ci(t)是常数还是含t的表达式?
可以尝试用for循环实现
 楼主| 发表于 2008-6-17 11:30 | 显示全部楼层
Ci(t)是一个常数矩阵,里面的每一个数对应一个t,是离散的
发表于 2008-6-17 12:29 | 显示全部楼层
原帖由 gb9813 于 2008-6-17 11:30 发表
Ci(t)是一个常数矩阵,里面的每一个数对应一个t,是离散的

还是不明白LZ的意思,试试数值积分函数trapz
要不就先对Ci(t)进行拟合,得到一个函数,然后再积分
发表于 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)函数怎样,我只能这样写,你自己再处理一下

评分

1

查看全部评分

 楼主| 发表于 2008-6-17 14:34 | 显示全部楼层
谢谢楼上的,我试一下先:@)
 楼主| 发表于 2008-6-17 14:46 | 显示全部楼层
是不是应该这样啊,因为Ci(t)是一个[1x512]的矩阵,是离散的,所以是不能积分的,
zi=Ci(t)*Ts;
Ei=sum(zi);
Ts是采样间隔,也就是dt,不知道我这样理解可以吗
发表于 2008-6-17 15:11 | 显示全部楼层

回复 7楼 的帖子

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

不过,有误差

lz可以搜索离散积分,本版有讨论
 楼主| 发表于 2008-6-17 16:43 | 显示全部楼层
恩,应该就是离散积分,求和。
公式可以用下面的程序表示吧
z1=Ci(t);
p1=z1.';
z1=p1*z1;
z1=diag(z1);
E1=z1*Ts;
发表于 2008-6-17 16:52 | 显示全部楼层

回复 9楼 的帖子

这段是在循环里面的吗

请看这个
http://forum.vibunion.com/forum/thread-58149-1-1.html
 楼主| 发表于 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
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-18 00:33 , Processed in 0.085375 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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