要用matlab对一组离散数据(5000个)进行定积分求值,积分范围是1000到2000,数据组成的图像如下。
1个回答
展开全部
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
梯形公式误差比较大
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |