问题描述
我在这里找到了来自 @Denver Dang 的这个 Getting a mean curve of several curves with x-values not being the same 问题以及一些很好的答案。 他给出了一组 x 和 y 值,例如:
data_set1:
x1 y1
--------- ---------
0 100
0.0100523 65.1077
0.0201047 64.0519
0.030157 63.0341
0.0402094 62.1309
0.0502617 61.3649
0.060314 60.8614
0.0703664 60.3555
0.0804187 59.7635
0.0904711 59.1787
data_set2:
x2 y2
--------- ---------
0 100
0.01 66.119
0.02 64.4593
0.03 63.1377
0.04 62.0386
0.05 61.0943
0.06 60.2811
0.07 59.5603
0.08 58.8908
因为在@Denver Dang 在每个数据集中获得相同数量的点的情况下,他可以使用另一种方法。 所以我很期待那篇文章中的最后一个答案。 @roj4s 针对分数不同的问题提供了以下解决方案。
mean_x_axis = [i for i in range(max(xs))]
ys_interp = [np.interp(mean_x_axis,xs[i],ys[i]) for i in range(len(xs))]
mean_y_axis = np.mean(ys_interp,axis=0)
plt.plot(mean_x_axis,mean_y_axis)
使用上面的代码,我试图重现成员给@Denver Dang 的解决方案,因为它非常适合用于计算许多应力应变曲线的平均值。这是我的问题顺便说一句.. 重现我做的例子:
xs = []
xs.extend(x1)
xs.extend(x2)
ys = []
ys.extend(y1)
ys.extend(y2)
print(xs)
[0.0,0.0100523,0.0201047,0.030157,0.0402094,0.0502617,0.060314,0.0703664,0.0804187,0.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08]
print(max(xs))
0.0804187
我意识到在我的情况和上面的情况 xs 将是一个浮点数。 有没有人知道当您像我提到的那样在每个数据集中获得浮点数和不同点数时获得平均曲线的解决方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)