回 帖 发 新 帖 刷新版面

主题:离散数值积分

各位好,我是新来的,有问题请教,希望多多提点!

关于数值积分的问题,大家给出的都是基于函数的,也就是连续函数离散华求积分。

我现在遇到个问题,就是采样进来的数据,都是离散点,怎么进行积分?

例如:纵坐标是功率,横坐标是时间。

P={1000,1150,1202,1423,1232,1243,1243,1256},T=0.1s(采样时间);(实际采样的P值5000,可以做出P-T的变化图,积分就是为了求图形下的面积)。

应该如何编写程序,请指教。希望附代码。

回复列表 (共5个回复)

沙发

function I=SimposnEq(a,b,n,y)
%等距离散节点积分之Simposn法
%[a,b]作n等分(有n+1个节点)
%y:n+1个节点对应的n+1维值向量
su=0;
for i=1:n-1
   if mod(i,2)==1
       su=su+4*y(i+1);
   else
       su=su+2*y(i+1);
   end
end
   I=(b-a)/(3*n)*(y(1)+y(n+1)+su);


function I=TrapeIneq(x,y)
%非等距离散节点积分之梯形法
%
%y:值向量
n=length(x);
I=0;
for i=1:n-1
   I=I+abs(y(i)+y(i+1))*abs(x(i+1)-x(i))/2;
end

板凳

非常感谢,我做做试试,现在处理数据非常需要,有不懂得地方,还会打扰的!

3 楼

help trapz

4 楼


还请帮忙,这两个函数我都用不了怎么回事哪?

5 楼

还请帮忙,那两个函数我都用不了怎么回事啊?

我来回复

您尚未登录,请登录后再回复。点此登录或注册