我在大学,我被要求做一项特定的任务,该任务是:
创建一个表示线性代数方程组(方程组)的类,查找根并检查是否存在某个数字集作为该方程组的解。基于该类,创建分别表示具有两个和三个未知数的两个和三个线性方程组的后代类。通过随机生成数据,可查找两种类型的线性代数方程组的解。
我必须使用一个构造函数和一个求解方法来求解方程组,我还需要创建一个子类,但首先我需要修复主代码。
import numpy as np
class Linear:
# linear equation ax + by + c = 0
def __init__(self, a, c, x):
self.a = np.array([[8, 3, -2], [-4, 7, 5], [3, 4, -12]]) # coefficient of X's 8X + 3Y - 2z = 9
self.c = np.array([9, 15, 35]) # free term of Equation -4X + 7Y + 5Z = 15
self.x = np.linalg.solve(a, c) # 3X + 4Y - 12Z = 35
def solve(self):
if self.x
r1 = Linear(8, 3, -2)
print(r1.solve())
我在网上发现,你可以很容易地使用numpy跳过所有的大步骤,但我有麻烦解决和放置在一起的代码
2条答案
按热度按时间icnyk63a1#
你的类不应该包含任何样本数。你应该只接受
a
和c
作为参数,并存储self.a = a
和self.c = c
。你不需要传入x
,因为它是类的输出。你不需要求解,直到你调用solve()
。大概是这样的:
输出量:
xn1cxnb42#
主要来源是由其他人回答,但我调整他们,以适应主要任务是由我的uni。所以我会张贴在我的主要任务在这里的最终结果。