gpt4 book ai didi

python - 如何在 python 中创建矩阵计算类?

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:26 25 4
gpt4 key购买 nike

我正在尝试创建一个能够在矩阵之间进行所有可能计算的类。输入是一个矩阵(大小无关紧要),类应该在该矩阵上进行任何计算——乘法、组合或减法。不同的功能如下:我需要在这门课上:

__init__(self, data)

get_width(self)

get_height(self)

add(self, m)

scalar_multiply(self, a)

subtract(self, m)

multiply(self, m)

compare(self, m)

非常感谢,还需要简单的操作。
到目前为止,这是我的代码:

class Matrix:
def __init__(self, data):
self.data = data

def get_width(self):
return len(self.data[0])

def get_height(self):
return len(self.data)

def add(self, m):
lines = []
for j in range(len(self.data)):
line = []
for i in range(len(self.data[j])):
line.append(self.data[j][i] + m[j][i])
lines.append(line)
return lines

def scalar_multiply(self, a):
res = []
for j in range(len(self.data)):
line = []
for i in range(len(self.data)):
line.append(self.data[j][i]*a)
res.append(line)
return res

def subtract(self, m):
lines = []
for j in range(len(self.data)):
line = []
for i in range(len(self.data)):
line.append(self.data[j][i] - m[j][i])
lines.append(line)
return lines

def multiply(self, m):
lines = []
for j in range(len(self.data-1)):
line = []
for i in range(len(m[0])-1):
schum = 0
for k in range(len(self.data[0]-1)):
schum = self.data[j][k]*m[k][i]
line.append(schum)
lines.append(line)
return lines

def compare(self, m):
for j in range(len(self.data)):
for i in range(len(self.data)[j]):
while self.data[j][i] == m[j][i]:
return True
else:
return False

最佳答案

您需要自己创建吗?如果没有,在 numpy 中已经有一个很好的实现。

关于python - 如何在 python 中创建矩阵计算类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6071648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com