导入的模块和当前文件不能一起工作

2024-06-25 06:29:02 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我不是一个以英语为母语的人(我想说清楚)

我已经为我的numeric类编写了一个脚本,在这个脚本中我计算了所有必要的函数来传递我的类。现在我想把所有的东西都实现到GUI中,让事情变得更简单

在整个测试过程中,我使用了一个“test”文件来查看输出的类型等等。这个文件名为Numerik\u Funktionen1,它被导入到我正在处理的每个文件中。现在问题来了:

这是我写的一个类和函数:

class LR:

    def LR_zerlegung(self, A, b = 0.):
        '''
        splits Matrix A in L and R
        L = lower triangular matrix -> linke untere Dreiecksmatrix
        R = upper triangular matrix -> rechte obere Dreiecksmatrix 
        returns (L, R) as tupel
        '''
        self.A = np.copy(A) * 1.
        self.ALr = A * 1.
        self.n = len(self.A[0])
        self.b = b        

        self.L = np.eye(self.n)

        for k in range(self.n-1):
            for i in range(self.n)[k+1:self.n]:
                self.L[i, k] = self.ALr[i, k] / self.ALr[k, k]
                self.ALr[i, k] = 0

                for j in range(self.n)[k+1:self.n]:
                    self.ALr[i, j] = self.ALr[i, j] - self.L[i, k] * self.ALr[k, j]

        self.R = self.ALr

        print('Ax = b')
        print('A', '\n', self.A,"\n")
        print('b', '\n', self.b,"\n")
        print('L', '\n', self.L,"\n")
        print('R', '\n', self.R,"\n")
        return self.L, self.R

我遇到的问题最好用代码来描述(我现在觉得它既不好写,也不好看,对不起)

import Numerik_Funktionen1

a = input("a eingeben: ")
b = input("b eingeben: ")
array_from_string = [s.split(',') for s in a.split(';')]
array_from_string2 = [s.split(',') for s in b.split(';')]
c = np.asarray(array_from_string)
d = np.asarray(array_from_string2)
A = c.astype(int)
b = d.astype(int)

a的输入如下所示:2,3;5,4 对于b2;4个

在程序之后是一个数组 (array([[2, 3], [5, 4]])) 以及b(array([[2], [2]])

函数的调用如下:Numerik_Funktionen1.LR.LR_zerlegung(A, b)

到目前为止还不错,但是如果我想使用前面描述的函数LR\u zerlegung,它返回:'numpy.ndarray' object has no attribute 'A'

我不知道我做错了什么,也不知道为什么它与数字不符。我知道我的问题没有很好的表述,对此我很抱歉

谢谢


Tags: 函数infromselffornprangearray