web-dev-qa-db-ja.com

ValueError:matmul:入力オペランド1のコアディメンション0に不一致があり、gufunc署名(n?、k)、(k、m?)->(n?、m?)(サイズ1は3と異なります)

Matmulを使用してコードを記述しましたが、次のエラーが発生します。

   "ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 1 is different from 3)"

コード:

    R = [[0.40348195], [0.38658295], [0.82931052]]
    V = [0.33452744, 0.33823673, 0.32723583]
    print("Rt_p: ", R)
    B = np.matmul(V,np.transpose(R))/pow(LA.norm(R), 2)
    print("B", B)
2
BiSarfraz

3行1列のマトリックスを3列1行のマトリックスに転置しています。次に、数学的に正しくない類似のマトリックス(これも3列1行)で乗算します。したがって、転置関数を削除するか、R行列を1行3列として定義してから転置できます。詳細は this を確認してください。

3
IcesHay