首页 > 解决方案 > Valueerror: 无法将输入数组从形状 (2,2) 广播到形状 (2)

问题描述

我正在编写 python 代码来进行有限元分析并制作刚度矩阵。它抛出了这个错误,我只是不知道为什么。

def solve_displacement(a, l, E, F):
    import numpy as np
    m = a.size
    n = m + 1
    k = np.zeros((2,2))
    zeros = np.zeros((n,n))
    K = np.copy(zeros)
    for i in range(1,m):
        k[i] = element_stiffness(a[i],l[i],E)
        K[i:i+1,i:i+1] += k[:,:]
    Ks = np.copy(K[2:n,2:n])
    Fs = np.copy(F[2:n])
    d = solve(Ks,Fs)

a 和 l 是 m 个向量,F 是一个 n 个向量。E 是一个常数。这给了我这个错误。

k[i] = element_stiffness(a[i],l[i],E)

ValueError: could not broadcast input array from shape (2,2) into shape (2)

如果有人能指出我的方向,我将不胜感激。

标签: pythonarraysnumpyvalueerror

解决方案


推荐阅读