1. Построить кубический сплайн, интерполирующий функцию у = ¦(х) на [1,00; 1,20] для равномерного разбиения с шагом h = 0,04:
¦(х) = lnx
Найти значения в точках 1,05; 1,13; 1,17.
Решение
Построим таблицу значений функции на интервале [1,00; 1,20] с шагом
h = 0,04:
x |
¦(х) = lnx |
1 |
0 |
1,04 |
0,039221 |
1,08 |
0,076961 |
1,12 |
0,113329 |
1,16 |
0,14842 |
1,2 |
0,182322 |
Сплайн-интерполяция таблично заданной функции
1. На отрезке [
a, b] задать одномерную сетку
hx
= {xi
/ xi
= xi
–1
+ hi
, hi
> 0, i = 1, 2, 3, …, n; x0
= a, xn
= b}
и значения yi
= f(xi
) в узлах сетки xi
, i = 0, 1, 2, …, n.
Задать
x*
Î (a, b).
2. Положить
ai
= yj
, i = 0, 1, 2, …, n.
3. Составить и решить трех диагональную систему методом прогонки:
Определить значения коэффициентов ci
, i = 0, 1, 2, …, n.
4. Определить значения коэффициентов
di
и bi
, i = 1, 2, 3, …, n, воспользовавшись формулами:
di
= (ci
–ci
–
1
) / hi
, i = 1, 2, …
5. Определить значение индекса 0 <
k£n из условия x*
Î [xk
– 1
, xk
].
6. Вычислить по формуле
S(x*
) = Sk
(x*
) = ak
+ bk
(x*
– xk
) + (ck
/ 2)(x*
– xk
)2
+ (dk
/ 6)(x*
– xk
)3
.
7. Процесс завершен:
S(x*
) – результат интерполяции табличных данных в точку x*
Î (a, b).
Результаты вычислений удобнее представлять в виде таблицы:
ai
|
bi
|
ci
|
di
|
0,03922 |
0,96467 |
-1,188280 |
-29,70700 |
0,07696 |
0,92494 |
-0,798322 |
9,74897 |
0,11333 |
0,89366 |
-0,765997 |
0,80813 |
0,14842 |
0,85986 |
-0,92391 |
-3,94780 |
0,18232 |
0,84138 |
0,00000 |
23,09770 |
Значение функции в точке находится по формуле:
S(x*
) = Sk
(x*
) = ak
+ bk
(x*
– xk
) + (ck
/ 2)(x*
– xk
)2
+ (dk
/ 6)(x*
– xk
)3
2. Найти решение задачи Коши для дифференциального уравнения на равномерной сетке [a, b] с шагом 0,2 методом Эйлера и классическим методом Рунге-Кутта
, , 0 £ х £ 1
Решение. Метод Эйлера
- разностная аппроксимация Эйлера. Точность метода . Метод Рунге-Кутта
дифференциальный интерполирующий уравнение сплайн
Результаты вычислений удобнее представлять в виде таблиц:
Метод Эйлера
x |
y |
|
0 |
0 |
1 |
0,2 |
0,2 |
1 |
0,4 |
0,416 |
1.04 |
0,6 |
0,67392 |
1.1232 |
0,8 |
1,00639 |
1.25798 |
1 |
1,45926 |
1.45926 |
Метод Рунге-Кутта
i |
|
|
|
|
|
|
= |
0 |
0 |
1 |
0 |
0,02 |
0,0202 |
0,040808 |
1,0202 |
1 |
0,2 |
1,0202 |
0,0408081 |
0,0624363 |
0,0630852 |
0,0866629 |
1,08329 |
2 |
0,4 |
1,08329 |
0,086663 |
0,112662 |
0,113962 |
0,14367 |
1,19722 |
3 |
0,6 |
1,19722 |
0,143666 |
0,177667 |
0,180047 |
0,220362 |
1,37713 |
4 |
0,8 |
1,37713 |
0,22034 |
0,267713 |
0,271977 |
0,329821 |
1,64872 |
5 |
1 |
1,64872 |
0,329743 |
0,398989 |
0,406607 |
0,493278 |
2,05442 |
3. Найти решение задачи безусловной минимизации ¦(х) ®min, х ÎR2
. Установить множество глобального решения
¦(х) =
Решение
Данная задача решается методом сопряженных направлений (градиентов). Алгоритм данного метода представлен далее.
1 Начать с точки
x(0)
= (x1
(0)
, x2
(0)
, …, xn
(0)
)т
и n-линейно независимых направлений s(i)
,
i = 1, 2, …, n, которые могут быть выбраны, например, совпадающими с координатными направлениями e(i)
, i = 1, 2, …, n. Положить k = 1.
2 Начиная с точки
x(0)
осуществить одномерный поиск для функции f(x) в направлении s(n)
и определить точку z(1)
.
3 Начиная с точки
z(1)
осуществить последовательно n – 1 одномерный поиск для f(x) сначала в направлении s(1)
, а затем из полученной точки в направлении s(2)
и т. д. до одномерного поиска в направлении s(n – 1)
включительно. В результате этих действий будет определена точка x(2)
.
4 Начиная с точки
x(2)
осуществить одномерный поиск для f(x) в направлении s(n)
и определить точку z(2)
.
Согласно обобщенному свойству "параллельного подпространства" направление
s(
n
+ 1)
= z(2)
– z(1)
будет сопряженным по отношению к направлениям s(
n
)
, s(
n
– 1)
, …, s(
n
–
k
+ 1)
(для k = 1 – только к направлению s(
n
)
).
5 Начиная с точки
z(2)
осуществить поиск в направлении s(
n
+ 1)
и определить x*
.
6 Положить
k: = k + 1. Если k = n, перейти к выполнению п. 8.
7 Положить
z(1)
: = x*
и s(
i
)
: = s(
i
+ 1)
, i = 1, 2, …, n.и перейти к выполнению п. 2.
8 Процесс вычислений завершен:
x*
– точка минимума функции f(x).
Результаты вычислений удобнее представлять в виде таблицы:
Таблица результатов
k |
|
|
|
|
|
|
|
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
2 |
2 |
0 |
-4 |
2 |
2 |
0 |
0 |
1 |
-2 |
2 |
-2 |
-8 |
Точка (2,-2) – точка минимума функции. В этой точке функция принимает значение .
|