Контрольная работа (задачи 1-9)
Построение функции по точкам - 1
Даны точки. Построить по этим точкам две функции (по вариантам).
Построить графики этих функций.
Вычислить значение функций в точках с х координатами: 0.5, 4, -1, 10. Объясните полученные результаты. Можно ли вычислить значения сплайнов вне отрезка от 0 до 5? Почему?
вариант | интерполяционный полином | сплайн-интерполяция порядка |
1 | степенной | 3 |
2 | Чебышева | 2 |
3 | Лагранжа | 1 |
4 | Лаггера | 3 |
5 | Эрмита | 2 |
6 | Эрмита (вероятностный) | 1 |
Исходные точки:
[0.000000, 1.250000],
[1.000000, 1.116472],
[2.500000, 0.247223],
[3.000000, -0.079148],
[5.000000, -0.523167]
Результаты:
Точные значения:
f(0.5) = 1.240999216492717
f(4.0) = -0.52533551794138922
f(-1) = 0.96425476967335877
f(10) = 0.31766764161830657
--------------------------------------
Polynomial
poly([ 0.24722264 -1.67934211 0.07734977 0.79275858 0.03884406])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946548
--------------------------------------
Chebyshev
cheb([ 0.30046405 -1.08477317 0.05809692 0.19818964 0.00485551])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946548
--------------------------------------
Legendre
leg([ 0.28077471 -1.20368696 0.07376312 0.31710343 0.00887864])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946548
--------------------------------------
Laguerre
lag([ 30.99529403 -119.13946251 164.73687759 -90.2588281 14.91611899])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946547
--------------------------------------
Hermite
herm([ 0.31503057 -0.24510212 0.04847049 0.09909482 0.00242775])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946548
--------------------------------------
HermiteE
herme([ 0.44110459 0.69893362 0.31041413 0.79275858 0.03884406])
f(0.500000) = 1.25021831319
f(4.000000) = -0.556266664783
f(-1.000000) = 0.723800947171
f(10.000000) = 20.4561946548
spline(2):
s(0.500000) = 1.1832360788627692
s(4.000000) = -0.3011573165735435
spline(3):
s(0.500000) = 1.2617330912032743
s(4.000000) = -0.48715113354782824
spline(4):
s(0.500000) = 1.251134003242776
s(4.000000) = -0.5565249252458007
- interpol_zoom.png:
- interpol.png:
Построение функции по точкам - 2
Даны точки. Координаты x в файле и координаты y в файле ниже.
Вариант | ax+b | ax2+bx+c | a*sin(bx)+c | b0*sin(pi*x/4)+b1*cos(pi*x/4)+b2*exp(-0.2*x) |
1 | + | + | | |
2 | + | | + | |
3 | + | | | + |
4 | | + | + | |
5 | | + | | + |
6 | | | + | + |
Найти приближения функциями указанного вида (свой вариант).
Нарисовать графики
точек и функций своего варианта
Вычислить линейное и квадратичное отклонение в точках. Какая из двух кривых лучше приближает по данным точкам и почему.
Вычислите значения полученных функций в точках с х координатами: 4.5, 8, -1, 10. Объясните полученные результаты.
- fit_all.png:
x | ax+b | ax2+bx+c | a*sin(bx)+c | b0*sin(pi*x/4)+b1*cos(pi*x/4)+b2*exp(-0.2*x) | теоретичская кривая |
4.5 | 0.210937138599 | -0.346789305272 | -0.541669051584 | -0.574354118757 | -0.58529567760443801 |
8 | -0.149897713541 | 0.949451428324 | 0.995902186082 | 0.835827409299 | 0.85094825899732762 |
-1 | 0.777963334818 | 2.82421281278 | 1.06350425804 | 0.94807425744 | 0.96425476967335877 |
10 | -0.356089057621 | 2.84748305057 | 1.12253902658 | 0.315126660288 | 0.31766764161830657 |
линейное отклонение | -0.00354536373376 | 0.000126196276604 | 0.000332501209816 | 9.1858942266e-05 | - |
квадратичное отклонение | 15.7443091007 | 2.11708225168 | 0.312321864548 | 0.149107742564 | - |