- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组测量曲线(表示为 x 值数组和 y 值数组)。我需要计算这组的平均曲线。该组中的曲线在采样点的数量(x值)和采样点的位置上都可以变化。
我首先使用 scipys interp1d 对每条曲线进行线性插值。然后,我确定所有曲线重叠的 x 值范围,以便定义插值函数。最后我需要计算平均值,这就是我陷入困境的地方。
最佳答案
恐怕您的问题是概念性的而不是与编码相关的。但是,以下示例应该对您有所帮助:
import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt
# make up three datasets for testing
x1 = np.linspace(0, 10, num=11, endpoint=True)
x2 = np.linspace(0, 10, num=13, endpoint=True)
x3 = np.linspace(0, 10, num=23, endpoint=True)
y1 = np.cos(-x1**2/9.0) + 0.2*np.random.rand((len(x1)))
y2 = np.cos(-x2**2/9.0) + 0.2*np.random.rand((len(x2)))
y3 = np.cos(-x3**2/9.0) + 0.2*np.random.rand((len(x3)))
# interpolate data
f1 = interp1d(x1, y1,'cubic')
f2 = interp1d(x2, y2,'cubic')
f3 = interp1d(x3, y3,'cubic')
# define common carrier for calculation of average curve
x_all = np.linspace(0, 10, num=101, endpoint=True)
# evaluation of fits on common carrier
f1_int = f1(x_all)
f2_int = f2(x_all)
f3_int = f3(x_all)
# put all fits to one matrix for fast mean calculation
data_collection = np.vstack((f1_int,f2_int,f3_int))
# calculating mean value
f_avg = np.average(data_collection, axis=0)
# plot this example
plt.figure()
plt.hold('on')
plt.plot(x1,y1,'ro',label='row1')
plt.plot(x2,y2,'bo',label='row2')
plt.plot(x3,y3,'go',label='row3')
plt.plot(x_all,f1_int,'r-',label='fit1')
plt.plot(x_all,f2_int,'b-',label='fit2')
plt.plot(x_all,f3_int,'g-',label='fit3')
plt.plot(x_all, f_avg,'k--',label='fit average')
plt.legend(loc=3)
plt.hold('off')
plt.show()
最重要的几行是使用 np.vstack
组合测量值并使用 np.average
取测量值平均值的行。剩下的只是为了有一个工作示例!
编辑:对于不等距的拟合载体,例如以下内容:
# define common carrier for calculation of average curve
x_all_1 = np.linspace(0, 1, num=101, endpoint=True)
x_all_2 = np.linspace(1, 10, num=21, endpoint=True)
x_all = np.concatenate((x_all_1, x_all_2))
关于python - 计算具有不同采样点数量的离散函数的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33625236/
我有一个问题需要分而治之解决。有一个包含 N 个点的集合 S。如果有一个平行于轴的正方形,只包含S中的两个点p1和p2,则我们称p1和p2为 friend 点。 现在,我需要使用分而治之算法来计算 S
为 iPad 编程时,字体(和其他)大小以“磅”为单位指定。我已经看到将点作为独立于屏幕分辨率的像素的引用。但是我无法确定一个点的实际大小(即以英寸为单位)。一个点是否等于标准 iPad 屏幕上的一个
我有一个来自 Hadley Wickham 的 ggplot2 书中的问题。 我在这里有这个数据框: class % group_by(class) %>% summarise(n = n
好的,这是一些代码( pdfDocument 是 com.itextpdf.text.Document ): PdfPTable table = new PdfPTable(1); PdfPCell
我正在尝试添加一个 if 语句,如果小于 17,则将另一张牌添加到 DealerHand 中。 目前,它只是记录: 7 19 [ { suit: '♦', value: 9, points: 9 },
我正在编写一个程序,我需要: 对图像的每个像素进行测试 如果测试结果为真,我必须向点云中添加一个点 如果测试结果为假,什么都不做 我已经在 CPU 端 C++ 上编写了一个工作代码。现在我需要使用 C
我是一名优秀的程序员,十分优秀!