首先,我不是一个以英语为母语的人(我想说清楚)
我已经为我的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'
我不知道我做错了什么,也不知道为什么它与数字不符。我知道我的问题没有很好的表述,对此我很抱歉
谢谢
目前没有回答
相关问题 更多 >
编程相关推荐