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) – точка минимума функции. В этой точке функция принимает значение .