0
我有一个'矩阵'(4x4)如下。多个自动曲线拟合
Matrix =
206.3088 9.4042 1.2780 0.9845
206.3099 4.6309 1.2050 0.9857
206.3559 9.4029 1.3192 1.0236
206.3573 4.6307 1.2421 1.0252
现在我需要在“第2列”和“第3列”数据点之间进行多重自动曲线拟合。对于拟合过程,应仅选择基于'列1'(时间)的相邻值。对于'第1栏'和'第4栏'中的相应数据也取平均值。
例如在给定矩阵中,可以手动实现两个曲线拟合结果。类似地,可以手动获得'列1'和'列4'中数据点的相应平均值。
Fit1=regstats(Matrix(1:2,3),Matrix(1:2,2),'linear','beta')
Fit2=regstats(Matrix(3:4,3),Matrix(3:4,2),'linear','beta')
C1 = mean (Matrix(1:2,1))
C2 = mean (Matrix(1:2,4))
输出应该像以下的“矩阵”
Output =
206.3093 Fit1.beta(1) Fit1.beta(2) 0.9851
206.3566 Fit2.beta(1) Fit1.beta(2) 1.0244
难道你不能只是循环的行索引,做行i和i + 1回归和平均计算? –
@VietTran:它只适用于2点,但有时3至5个相邻点可用于一个选择。所以它应该基于'第一列',例如只选择'第一列'有两个相同小数的那些数据点。在'列1'的给定示例中,'.30'对于前两个数据点是通用的,'.35'对于接下来的两个数据点是通用的。 – Umar
所以你的相邻数据点的标准是:Matrix(i,1)-Matrix(i + 1,1)<0.01'? –