要用matlab对一组离散数据(5000个)进行定积分求值,积分范围是1000到2000,数据组成的图像如下.

问题描述:

要用matlab对一组离散数据(5000个)进行定积分求值,积分范围是1000到2000,数据组成的图像如下.

上面是数据组成的图像大致如上.该用什么命令进行编程
1个回答 分类:综合 2014-11-06

问题解答:

我来补答
clc;clear
%复化cotes公式求积分值
%[a,b]为积分区间
%n是等分区间份数

load('C:\Users\baiyanglong\Desktop\n.mat')
a=1000;b=1500;
C=0;
h=4;
n=(b-a)/h;
for i=1:(n-1)
    x0=a+i*h;
    C=C+14*nlp(x0);
end
for k=0:(n-1)
   x0=a+h*k;
   s=32*nlp(x0+h*1/4)+12*nlp(x0+h*1/2)+32*nlp(x0+h*3/4);
   C=C+s;
end
C=C+7*(nlp(a)+nlp(b));
C=C*h/90;
C=double(C);
采用复化cotes公式求积分值
结果积分结果为C=1.7581参考资料查数值分析教程.

其实可以简略试算一下根据梯形公式
sum(nlp(1000:1500))=1.7753
梯形公式误差比较大
 
 
展开全文阅读
剩余:2000