-
Notifications
You must be signed in to change notification settings - Fork 0
/
valoresIniciales.py
55 lines (49 loc) · 1.98 KB
/
valoresIniciales.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import math
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QDialog, QTableWidgetItem
from PyQt5.uic import loadUi
class ValoresIniciales(QDialog):
def __init__(self, sistemas):
super(ValoresIniciales, self).__init__()
loadUi('UI/valoresiniciales.ui', self)
self.setWindowTitle('Ingresa los valores iniciales')
self.sistemas = sistemas
self.n = self.sistemas.n
n = self.n
self.guardar.clicked.connect(self.on_pushButton_clicked)
# k iter
if(self.sistemas.numiter == 0):
labels = []
for x in range(0, n):
labels.append("X" + str(x + 1))
for x in range(0, n):
self.tableWidget.insertColumn(x)
self.tableWidget.setHorizontalHeaderLabels(labels)
self.tableWidget.insertRow(0)
for i in range(0, n):
self.tableWidget.setItem(0, i, QTableWidgetItem(" "))
else:
labels = []
for x in range(0, n):
labels.append("X" + str(x + 1))
for x in range(0, n):
self.tableWidget.insertColumn(x)
self.tableWidget.setHorizontalHeaderLabels(labels)
self.tableWidget.insertRow(0)
for i in range(0, n):
self.tableWidget.setItem(0, i, QTableWidgetItem(str(self.sistemas.xceros[i])))
self.tol.setValue(abs(math.log(self.sistemas.tol,10)))
self.iter.setValue(self.sistemas.numiter)
self.lamb.setValue(self.sistemas.lamb)
def getXceros(self):
b = [None] * self.n
for i in range(0, self.n):
b[i] = float(self.tableWidget.item(0, i).text())
return b
@pyqtSlot()
def on_pushButton_clicked(self):
self.sistemas.setXceros(self.getXceros())
self.sistemas.setLamb(self.lamb.value())
self.sistemas.setNumiter(self.iter.value())
self.sistemas.setTol(math.pow(10, -1 * self.tol.value()))
self.close()