【问题标题】:How do I find the determinant of a 2x2 matrix?如何找到 2x2 矩阵的行列式?
【发布时间】:2014-12-09 14:06:16
【问题描述】:

必须是 ad-bc 这是我的代码,但它说 aList 没有定义

def findDeterminate(alist):
    value=0
    aList = [[a,b],[c,d]]
    for i in range (0, len(aList)):
        value = aList[0][1]*aList[1][2] - aList[0][2]*aList[1][1]

def main():
    a = str(input("what is your first value"))
    b = str(input('what is your second value'))
    c = str(input('what is your third value'))
    d = str(input('what is your fourth value'))
    return findDeterminate(aList)

【问题讨论】:

  • for 循环什么都不做,去掉它。 findDeterminate() 函数不返回值。 str() 函数创建字符串,而您需要 float()aList 分配应移动到 main()

标签: python matrix determinants


【解决方案1】:

我不会为你解决这个问题,但会给出一些提示:

  • main() 中没有aList
  • 您在定义中将aList 拼错为alist findDeterminate()
  • for 循环的目的是什么?
  • 二元素列表在索引2 处没有元素。
  • 你没有从findDeterminate()返回任何东西。
  • main() 在 Python 中没有特殊含义,不会自动调用。

(顺便说一句,矩阵的行列式拼写为“行列式”而不是“确定”。)

【讨论】:

    【解决方案2】:
    # Determinant of a 2x2 matrix
    matrixG = [[2, 1],
               [3, 4]]
    
    if len(matrixG) != 2 or len(matrixG[0]) != 2:
        print("Matrix should be 2x2 matrix only")
    else:
        determinant = (matrixG[0][0] * matrixG[1][1]) - (matrixG[0][1] * matrixG[1][0])
        print(determinant)
    

    【讨论】:

      猜你喜欢
      • 2022-12-31
      • 2021-03-08
      • 2023-03-15
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多