import fattorizzazione2 def sommatoria(a, sum_range, exp=1): try: sum = 0 for i in sum_range: sum = sum + a[i]**exp except: sum = 0 for i in sum_range: sum = sum + a(i)**exp return sum def minimi_quadrati(x, y, m=2): a = fattorizzazione2.matrix(m, m) f = [] for i in range(m): for j in range(m): valuex = sommatoria(x, range(len(x)), i+j) a.set(i, j, valuex) sum = 0. for j in range(len(x)): sum = sum + y[j] * x[j]**i f.append(sum) print "Sistema" a.stampa() print "f", f return (a, f) x = [1. , 2. , 3. , 4. , 5. , 6. , 7. ] y = [0.5, 2.5, 2.0, 4.0, 3.5, 6.0, 5.5] sistema = minimi_quadrati(x, y) fattorizzazione2.M_gauss(sistema[0], sistema[1]) x1 = [-2, -1.5, -1 , -.4, 1 , 2.5, 3.5, 4] y1 = [6 , 3 , -.5, -2 , -4, -2 , 2 , 6] sistema1 = minimi_quadrati(x1, y1, 3) fattorizzazione2.M_gauss(sistema1[0], sistema1[1]) |
Ultima modifica 08/03/2004
Per ogni suggerimento/errore contattatemi liberamente: Matteo Bertini
This work is licensed under a Creative Commons License.