Уведомления

Группа в Telegram: @pythonsu

#1 Март 13, 2011 21:58:34

layt
От:
Зарегистрирован: 2010-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

Мне нужно Ароксимуват результати експеременти методом Меньших квадратов!!
Считать Дание експеременту с файла и вивести кривую на екран



Офлайн

#2 Март 13, 2011 22:08:53

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Линейная апроксимация

Методы разные бывают - напишите какая у вас аппроксимирующая формула должна быть, какие коэффициенты искать.



Офлайн

#3 Март 13, 2011 22:13:18

layt
От:
Зарегистрирован: 2010-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

должна бить Линейна апроксимация с помощю метода Гауса в котором ми ищем акспромоцийной полином
Програма должна считувать рядки с тексттового файла
тоисть
x1 y1
x2 y2
x3 y3
……..
xn yn



Офлайн

#4 Март 13, 2011 22:55:52

cookie-god
От:
Зарегистрирован: 2011-03-13
Сообщения: 41
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

import numpy as np
import matplotlib.pyplot as plt
g = [lambda t: t**3,
lambda t: t**2,
lambda t: t**1,
lambda t: 1.0]
def approximate(x,y,basis):
N = len(y)
m = len(basis)
#A*x = b
A = np.matrix(np.zeros((m,m)))
b = np.matrix(np.zeros((m,1)))
for j in xrange(0,m):
for i,xi in enumerate(x):
b[j] += basis[j](xi)*y[i]
for k in xrange(0,m):
A[j,k] += basis[j](xi)*basis[k](xi)
try:
return np.linalg.inv(A)*b
except Exception,ex:
return np.linalg.pinv(A)*b

x = [1,2,3,4,7]
y = [5,3,2,5,9]
p = approximate(x,y,g)
p = np.array(p.flatten())[0]
def ap_s(basis,param,x):
return sum(b(x)*p for (b,p) in zip(basis,param))

a = plt.subplot(111)

a.plot(x,y)
xx = np.linspace(min(x),max(x),100)
a.plot(xx,ap_s(g,p,xx))
plt.show()
x,y - это ваши входные данные
g - массив базисных функций



Офлайн

#5 Март 13, 2011 23:00:01

layt
От:
Зарегистрирован: 2010-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

Спасиб иду разберусь в коде))



Офлайн

#6 Март 15, 2011 20:52:33

layt
От:
Зарегистрирован: 2010-09-28
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

А можно под 3 питон
А то вибивает ошибку в
except Exception,ex:



Офлайн

#7 Март 15, 2011 20:54:00

cookie-god
От:
Зарегистрирован: 2011-03-13
Сообщения: 41
Репутация: +  0  -
Профиль   Отправить e-mail  

Линейная апроксимация

Не работал с третьим питоном, наверное,

except Exception as ex



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version