以下是一个使用容差区间比较四个数值向量并报告共同值的代码示例:
import numpy as np
def compare_vectors(vectors, tolerance):
# 将所有向量转换为 NumPy 数组
vectors = [np.array(vector) for vector in vectors]
# 检查向量的长度是否相等
lengths = [len(vector) for vector in vectors]
if len(set(lengths)) > 1:
raise ValueError("向量长度不一致")
# 计算每个向量的差异
differences = [np.abs(vectors[i] - vectors[i+1]) for i in range(len(vectors)-1)]
# 检查每个差异向量中的元素是否都小于容差值
common_values = []
for i in range(len(differences[0])):
if all(difference[i] <= tolerance for difference in differences):
common_values.append(vectors[0][i])
return common_values
# 示例调用
vector1 = [1.1, 2.5, 3.6, 4.2]
vector2 = [1.15, 2.55, 3.58, 4.18]
vector3 = [1.12, 2.53, 3.62, 4.19]
vector4 = [1.11, 2.54, 3.59, 4.21]
vectors = [vector1, vector2, vector3, vector4]
tolerance = 0.05
common_values = compare_vectors(vectors, tolerance)
print("共同的值:", common_values)
在上述代码中,compare_vectors
函数接受一个包含四个向量的列表和一个容差值作为参数。首先,将所有向量转换为 NumPy 数组,并检查它们的长度是否相等。然后,计算每个向量之间的差异,并检查差异向量中的每个元素是否都小于容差值。最后,返回共同值的列表。
在示例调用中,我们比较了四个数值向量,并设置容差值为0.05。输出结果将显示共同的值。