1. Построить кубический сплайн, интерполирующийфункцию у = ¦(х) на [1,00;1,20] для равномерного разбиения с шагом h = 0,04:
¦(х) = ln x
Найти значения в точках 1,05; 1,13;1,17.
Решение
Построим таблицу значений функции наинтервале [1,00; 1,20] с шагом
h = 0,04:x ¦(х) = ln x 1 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
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
/> 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
/>
/>
/>
/>
/>
/>
/>=/> 1 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
/>
/>
/>
/>
/>
/>
/> 1 1 1 1 2 2 -4 2 2 1 -2 2 -2 -8
Точка (2,-2) – точка минимумафункции. В этой точке функция принимает значение />.