可以先用ployfit将数据拟合成一个多项式,然后再对这个多项式求积分。不过你这个图形很难用多项式进行拟合,所以该方法虽然简单,但在这不可取。
自己编写图形积分m函数。这种方法适合用于数据点很密集的情况,即用两个函数值的平均值代替小矩形的高,在乘以矩形的宽就行。这里给个算法流程。
1)n=length(x);m=length(y); 求向量的长度,如果n~=m,则输入参数有误
2)int = 0; 求面积
for i=1:n-1
int=int+(x(i+1)-x(i))*(y(i+1)+y(i)/2);
3)返回int
如果曲线不好拟合,而且数据点也不密。可以先interpl插值函数进行插值,再用上面第二种方法。