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

时间:2017-12-05 11:50:14

标签: python arrays numpy

首先,我不是母语为英语的人(只是为了说清楚)

我为我的数字类编写了一个脚本,其中我计算了所有必要的函数来传递我的类。现在我想将所有内容都实现到GUI中以使事情变得更容易。

对于整个测试,我使用'test'文件来查看输出的类型等等。该文件名为Numerik_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)

看起来像这样的输入:2,3; 5,4 并且对于b 2; 4

在进行A之后是一个数组 (array([[2, 3], [5, 4]])) 和b(array([[2], [2]])

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

到目前为止一切顺利,但如果我想采用之前描述的函数LR_zerlegung,它会返回:'numpy.ndarray' object has no attribute 'A'

我不知道我做错了什么,为什么它不符合Numerik_Funktionen1。我知道我的问题没有得到很好的表述,我很抱歉提前。

谢谢

0 个答案:

没有答案