Arrays 数组返回不正确的值?
代码: 我要寻找的结果是一个2x2数组和一个2x1数组,其中每个位置都通过对testdata数组的每个值求和(取决于需要什么)和输出数字来表示。我的主要问题是,我希望返回一个2x2数组和一个2x1数组,但是当我运行Arrays 数组返回不正确的值?,arrays,numpy,Arrays,Numpy,代码: 我要寻找的结果是一个2x2数组和一个2x1数组,其中每个位置都通过对testdata数组的每个值求和(取决于需要什么)和输出数字来表示。我的主要问题是,我希望返回一个2x2数组和一个2x1数组,但是当我运行LinearLeastSquares(testdata)时,我分别得到了a和B的以下结果: 除了输出没有正确的尺寸外,计算也不正确,尽管有些数字相对接近,但并非全部。 非常感谢您的帮助。问题在于,您正在将数组和标量与np.array连接起来,并对给定的轴应用求和。如果我正确理解您的目标
LinearLeastSquares(testdata)
时,我分别得到了a和B的以下结果:
除了输出没有正确的尺寸外,计算也不正确,尽管有些数字相对接近,但并非全部。
非常感谢您的帮助。问题在于,您正在将数组和标量与
np.array
连接起来,并对给定的轴应用求和。如果我正确理解您的目标,我建议您对每个数组执行求和运算,然后将结果合并到numpy数组中:
[[ 466.25]
[1139.69]
[2708. ]
[5509.64]
[9354.89]] 259370.5
要将A
和B
转换为2x2和2x1阵列,必须进行重塑
[[ 466.25]
[1139.69]
[2708. ]
[5509.64]
[9354.89]] 259370.5
A = np.array([np.sum(arr) for arr in [x**2, x, x, n]]).reshape((2,2))
B = np.array([np.sum(arr) for arr in [x*y , y]]).reshape((2,1))