关于数值积分的疑惑(附实验数据)
如题y=y为关于x的函数,具体表达式未知
x=
x为等间隔采样ds=9.375
针对上述数值积分 我采用 z=trapz(x,y)= 21.1613
我的疑惑是按照积分的原理,积分可以转化为小矩形面积之和,如果等间距采样,sum(y)=4.4584是不是就等于我要求的积分?为什么用两条命令求出来的值相差这么大?
附:如果只有一个向量x,trapz(x)的积分原理是什么? trapz是使用梯形法则求面积的! 所以并非等於sum(y)也非等於sum(y)*ds!
应该是ds*(sum(y)-(y(1)+y(end))/2)=21.1612才是! 理论上就等於trapz(x,y)=21.1623! 小数第3位产生误差的原因是, LZ的x并非完全等间隔造成!
若只有一个输入, 即假设trapz的x等间隔为1! trapz(x)应该相当于trapz(1:length(x),x),仔细看看help。
例:
>> x=2:5;
>> trapz(x)
ans =
10.5000
>> trapz(1:length(x),x)
ans =
10.5000 谢谢楼上的两位
我的理解是:用sum(y)*ds其实就是用小矩形法求和,精确度差,认为在ds内离散值为恒定的,如果将x等距细分至无限小那么就是求积分了,而梯形法是划分为小梯形求面积,一般来讲在有限等间距划分中要比矩形法精确度高``
不知道对不对··
页:
[1]