转换数据#
问题:假设有两组数据X和Y,要求转换Y,使得转换后的Y曲线下面积与X的曲线下面积相同。
解:首先曲线下面积可以通过将一系列梯形面积求和后得到。假设X和Y分别有三个数据点。如图1所示。通过梯形法计算X和Y对应的曲线下面积分别为Sx和Sy。要使得Sx和Sy相等,简单地,可以对Y中每一个数值都乘以X和Y的曲线下面积的比值得到转换后的Y。matlab代码如下:

X = randn([100, 1]);
Y = randn([150, 1]) * 20;
# 梯形法计算面积
Sx = trapz(X);
Sy = trapz(Y);
newY = Y * Sx / Sy;
Syn = trapz(newY);