Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Система компьютерной математики Octave. Лабораторный практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
1
+
1
x
+
Варианты заданий к лабораторной работе № 5
Вариант 1
А) Интерполировать таблично заданную функцию, используя кусочно­линейную и сплайн-интерполяции.
x y
0.0
-52.3
0.5
-22.4
1.0
-5.2
1.5
4.7
2.0
4.9
2.5
3.0
3.0
2.7
3.5
4.1
4.0
7.7
Построить графики полученных интерполяционных функций в одном графиче­ском окне.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
1
В*) Аппроксимировать функцию
)(xxf
= на
2
отрезке
[-1; 1]
многочле
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
.
y
Г) Аппроксимировать функцию
),(
yxf
= на
прямоугольнике
2
[-1; 2]х[-
-
4; 4]
методами билинейной и бикубической интерполяции. При формировании
80
xxxfcos)(
=
yxyxf
cos),
(
=
массива узловых точек величину шага разбиения принять равной dx=dy=1. Ис­пользуя функцию subplot, построить оба графика в одном графическом окне.
Вариант 2
А) Интерполировать таблично заданную функцию, используя кусочно­линейную и сплайн-интерполяции.
x y
0.0
12.3
0.5
26.4
1.0
52.0
1.5
65.1
2.0
64.9
2.5
53.0
3.0
42.7
3.5
38.7
4.0
32.5
Построить графики полученных интерполяционных функций в одном графиче­ском окне.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
В*) Аппроксимировать функцию
на отрезке
[-1; 1]
многочле
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При фор
на прямоугольнике
.
мировании массива узловых точек величину шага разбиения принять равной
dx=dy=1.
ском окне
Используя функцию
.
subplot,
построить оба графика в одном графиче
Вариант
3
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x y
0.0
-2.0
0.5
0.5
1.0
1.5
.
1.5
1.9
2.0
2.0
2.5
1.9
3.0
1.8
3.5
1.5
4.0
1.2
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по рядка. Вывести погрешность аппроксимации и построить графики аппроксими рующих полиномов на одном рисунке
В
*)
Аппроксимировать функцию
.
x
−
на
exxf
⋅=)(
отрезке
[-1; 1]
многочле
-
-
-
-
-
-
-
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
x
Г) Аппроксимировать функцию
4; 4]
методами билинейной и бикубической интерполяции. При формировании
−
на
eyyxf
⋅=),(
прямоугольнике
массива узловых точек величину шага разбиения принять равной пользуя функцию
subplot,
построить оба графика в одном графическом окне
81
.
[-1; 2]х[-
dx=dy=1. Ис-
.
5
1
+
5
1
x
+
3
x
+
π
+
Вариант 4
А) Интерполировать таблично заданную функцию, используя кусочно­линейную и сплайн-интерполяции.
x y
0.0
29.4
0.5
31.5
1.0
33.0
1.5
34.0
2.0
34.5
2.5
34.7
3.0
34.4
3.5
33.8
4.0
32.9
Построить графики полученных интерполяционных функций в одном графиче­ском окне.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
1
В*) Аппроксимировать функцию
)(xxf
= на
2
отрезке
[-1; 1]
многочле
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
2
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При фор
),(
yxf
y
=
на прямоугольнике
2
.
мировании массива узловых точек величину шага разбиения принять равной
dx=dy=1.
ском окне
Используя функцию
.
subplot,
построить оба графика в одном графиче
Вариант
5
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x y
0.0
1.0
0.5
0.2
1.0
0.0
.
1.5
0.1
2.0
0.4
2.5
0.6
3.0
0.9
3.5
1.1
4.0
1.2
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
Б) Аппроксимировать ту же функцию многочленом третьего, пятого и восьмого порядка. Вывести погрешность аппроксимации и построить графи ки аппроксимирующих полиномов на одном рисунке
sin
В
*)
Аппроксимировать функцию
)(
xf
=
x
2
.
на
отрезке
[-1; 1]
многочле
-
-
-
-
-
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
)sin(
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При фор
),(
yxf
=
1
yx
2
y
+
на прямоугольнике
.
мировании массива узловых точек величину шага разбиения принять равной
dx=dy=1.
ском окне
Используя функцию
.
subplot,
построить оба графика в одном графиче
82
-
-
1)(x
+
1
+
4
x
+
Вариант 6
А) Интерполировать таблично заданную функцию, используя кусочно­линейную и сплайн-интерполяции.
x y
0.0
0.0
0.5
0.2
1.0
0.8
1.5
1.5
2.0
1.8
2.5
1.5
3.0
0.4
3.5
-1.2
4.0
-3.0
Построить графики полученных интерполяционных функций в одном графиче­ском окне.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
x
В*) Аппроксимировать функцию
xf
= на
2
отрезке
[-1; 1]
многочле
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
2
x
),(
yxf
Г) Аппроксимировать функцию
4; 4]
методами билинейной и бикубической интерполяции. При формировании
=
1
на
прямоугольнике
2
y
+
массива узловых точек величину шага разбиения принять равной пользуя функцию
subplot,
построить оба графика в одном графическом окне
.
[-1; 2]х[-
dx=dy=1. Ис-
.
Вариант
7
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x 0.0 y 1.0
0.5
1.2
1.0
1.1
.
1.5
0.9
2.0
0.7
2.5
0.5
3.0
0.3
3.5
0.2
4.0
0.2
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по рядка. Вывести погрешность аппроксимации и построить графики аппроксими рующих полиномов на одном рисунке
.
2
В
*)
Аппроксимировать функцию
)(xxf
= на
3
отрезке
[-1; 1]
многочле
-
-
-
-
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
.
xy
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При фор
мировании массива узловых точек величину шага разбиения принять равной
dx=dy=1.
ском окне
Используя функцию
.
subplot,
),(
yxf
=
на прямоугольнике
2
построить оба графика в одном графиче
-
-
83
xxxfcos)(
+
=
yxyxf
cos
sin),
(
=
Вариант 8
А) Интерполировать таблично заданную функцию, используя кусочно­линейную и сплайн-интерполяции.
x 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 y 0.0 21.9 25.0 23.3 18.4 11.1 1.7 -9.4 -22.0
Построить графики полученных интерполяционных функций в одном графиче­ском окне.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
В*) Аппроксимировать функцию
на отрезке
[-1; 1]
много
-
членом Чебышёва четвертого и восьмого порядков. Построить графики исход ной функции и аппроксимирующих полиномов в одном графическом окне
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При формиро
на прямоугольнике
вании массива узловых точек величину шага разбиения принять равной Используя функцию
Вариант
9
subplot,
построить оба графика в одном графическом окне
.
dx=dy=1.
.
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x 0.0 y 4.0
0.5
2.0
1.0
0.5
.
1.5
0.0
2.0
0.0
2.5
-0.2
3.0
-1.0
3.5
-2.1
4.0
-2.6
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по рядка. Вывести погрешность аппроксимации и построить графики аппроксими рующих полиномов на одном рисунке
В
*)
Аппроксимировать функцию
.
x
−
на
exxf
+=)(
отрезке
[-1; 1]
многочле
-
-
-
-
-
-
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
x
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При формиро
−
eyyxf
⋅= cos),(
на прямоугольнике
вании массива узловых точек величину шага разбиения принять равной Используя функцию
Вариант
10
subplot,
построить оба графика в одном графическом окне
.
dx=dy=1.
.
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x 0.0 y -2.0
0.5
-2.2
1.0
-1.5
.
1.5
-0.8
2.0
-0.4
2.5
-0.1
3.0
0.1
3.5
0.2
4.0
0.4
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
84
-
-
-
1
x
+
3
x
+
π
1
x
+
+
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
3
В*) Аппроксимировать функцию
)(
xf
x
= на
2
отрезке
[-1; 1]
многочле
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
3
x
),(
yxf
Г) Аппроксимировать функцию
4; 4]
методами билинейной и бикубической интерполяции. При формировании
=
1
на
прямоугольнике
2
y
+
массива узловых точек величину шага разбиения принять равной пользуя функцию
subplot,
построить оба графика в одном графическом окне
.
[-1; 2]х[-
dx=dy=1. Ис-
.
Вариант 11
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x 0.0 y 1.0
0.5
1.1
1.0
0.5
.
1.5
0.1
2.0
-0.2
2.5
-0.4
3.0
-0.4
3.5
-0.3
4.0
-0.2
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по рядка. Вывести погрешность аппроксимации и построить графики аппроксими рующих полиномов на одном рисунке
В
*)
Аппроксимировать функцию
.
cos
)(
xf
=
x
2
на
отрезке
[-1; 1]
многочле
-
-
-
-
-
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне
)cos(
Г) Аппроксимировать функцию
[-1; 2]х[-4; 4]
методами билинейной и бикубической интерполяции. При формиро
),(
yxf
=
yx
2
на прямоугольнике
вании массива узловых точек величину шага разбиения принять равной Используя функцию
subplot,
построить оба графика в одном графическом окне
.
dx=dy=1.
.
Вариант 12
А) Интерполировать таблично заданную функцию, используя кусочно линейную и сплайн-интерполяции
x 0.0 y 0.0
0.5
3.9
1.0
11.7
.
1.5
18.3
2.0
20.0
2.5
15.0
3.0
3.9
3.5
-10.6
4.0
-24.4
Построить графики полученных интерполяционных функций в одном графиче ском окне
.
-
-
-
85
2)(x
+
−
−
λ
Б) Аппроксимировать ту же функцию многочленом третьего и пятого по­рядка. Вывести погрешность аппроксимации и построить графики аппроксими­рующих полиномов на одном рисунке.
x
В*) Аппроксимировать функцию
xf
e
=
на отрезке [-1; 1] многочле-
2
ном Чебышёва четвертого и восьмого порядков. Построить графики исходной функции и аппроксимирующих полиномов в одном графическом окне.
x
e
),(
yxf
Г) Аппроксимировать функцию
=
2
на прямоугольнике [-1; 2]х[-
2
y
+
4; 4] методами билинейной и бикубической интерполяции. При формировании массива узловых точек величину шага разбиения принять равной dx=dy=1. Ис­пользуя функцию subplot, построить оба графика в одном графическом окне.
Лабораторная работа № 6
ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ И ИНТЕГРИРОВАНИЕ
Цель работы: познакомиться с методами численного дифференцирования и интегрирования, реализованными в Octave.
Численное дифференцирование. Пусть y = f(x) – таблично заданная функ- ция на векторе x = [x1, x2, …, xn]. Для вычисления конечных разностей можно использовать функцию
y
] на единицу меньшей длины. Тогда для нахождения производных можно
n-1
воспользоваться формулой
diff(y)
y'(x) = diff(y)./diff(x)
, которая возвращает вектор [y2-y1, y3-y2, …, yn-
. По теореме Ла-
гранжа, найденные значения (в случае гладкости исходной функции) равны значениям производных исходной функции в некоторых промежуточных точ­ках
. С некоторой натяжкой можно считать, что мы получаем
);(
xx
1+∈kkk
приближенные значения производных в средних точках интервалов разбиения. Чтобы повысить точность вычисления производных, можно использовать ме­тод интерполяции исходной функции. Одним из простых методов является ме­тод интерполяция таблично заданной функции многочленом второго порядка.
Пусть
– три последовательные узловые точки, а
,,
xxx
11
+− kkk
,,
–
yyy
11
+− kkk
значения функции y = f(x) в этих точках. Интерполяционный полином будем искать в виде
2
kk
, тогда неизвестные коэффициенты есть
cxxbxxa
+−+− )()(
решение системы уравнений
1
2
)()(
=+−+−
ycxxbxxa
11
−−−
kkkkk
=
1
2
)()(
=+−+−
yc
k
ycxxbxxa
11
+++
kkkkk
При равномерном разбиении система уравнений существенно упрощается
2
2
=+−
ycbhah
1
−
k
= =++
yc
k
ycbhah
1
+
k
86
:
h
h
−=+
−
2
2
+
−
h
2
−+−
h
2
−
h
2
+
−
xxy
sin)(
=
=
′
откуда получим:
a =
2
=
yyy
11
b
2
,
yy
Производная полученного полинома есть
′
43
xy
)(
=
k
1+−−
yy
kk
′
xy
)(
=
k
′
xy
)(
=
k
1+−+
11 −+
;
yyy
kkk
11
;
yyy
34
kkk
11
.
kkkkk
−++−
11
,
yc
.
k
k
,
тогда
bxxa
)(2
Во всех "средних" узловых точках будем использовать "среднюю" формулу в первой узловой точке
–
третью формулу при
–
первую формулу при
k=n-1.
k=2, в
последней узловой точке
В курсе численных методов доказывается, что погрешность полученных формул при
Пример 1. Вычислим производную функции
с теоретическим
h=pi/3;
x=0:h:pi;
n=length(x);
y=sin(x);
r=cos(x);
p=[];
p(1)=(-3*y(1)+4*y(2)-y(3))/(2*h);
for k = 2:(n-1)
p(k)=(y(k+1)-y(k-1))/(2*h);
end
p(n)=(y(n-2)-4*y(n-1)+3*y(n))/(2*h);
h,
стремящемся к нулю, пропорциональна
: xxy cos)(
.
Напишем программу
h2.
и сравним результат
:
,
Выведем полученные результаты
p
r
p-r
Получим
p =
1.24049 0.41350 -0.41350 -1.24049
r =
1.00000 0.50000 -0.50000 -1.00000
ans =
0.240490 -0.086503 0.086503 -0.240490
:
Максимальная погрешность по абсолютной величине равна количество узловых точек, для чего уменьшим шаг сетки вдвое: положим
:
0.24.
Увеличим
87
)(sinxx
y
ε
+
=
)(sinxx
y
ε
+
=
h = pi/6. Выведем только вектор погрешностей p-r в точках 0, pi/3, 2*pi/3 и pi, оставив в результате четыре знака после запятой:
ans =
0.0829 -0.0225 0.0225 -0.0829
Еще раз уменьшим шаг в два раза до h = pi/12. Получим для тех же точек
ans =
0.0223 -0.0057 0.0057 -0.0223
В последний раз возьмем h = pi/24. Получим
ans =
0.0057 -0.0014 0.0014 -0.0057
Мы видим, что действительно при уменьшении шага h вдвое погрешность уменьшается примерно в четыре раза и, второе, погрешность вычисления меньше в середине и больше на концах отрезка.
Если значения функции известны с некоторой погрешностью, то для вычис­ления производной можно использовать аппроксимацию полиномом.
Пример 2. Пусть значения функции
в точках
x = 0:pi/20:2*pi,
где ε
(x)
есть случайная погрешность и
0 < ε(x) < 0.05.
Вычислив производные по тем же формулам, мы получим достаточно большие отклонения от аналити ческих значений. На рисунке красным цветом построен график функции
–
производной от
функции
y = sin(x), а
.
синим цветом
–
численное значение производной
cos(x)
-
Аппроксимируем исходные данные многочленом четвертого порядка
и вычислим его производную
.
88
h=pi/20; x=0:h:pi; n=length(x) y=sin(x)+0.05*rand(1,n); % находим коэффициенты аппроксимирующего полинома p=polyfit(x,y,4); % и вычисляем его производную d=polyder(p); py=polyval(d,x); % строим оба графика в одном графическом окне hold on plot(x,py,'linewidth',2) plot(x,cos(x),'linewidth',2) grid on
На рисунке видно, что численно подсчитанная производная, несмотря на наличие погрешностей исходной функции, гораздо лучше соответствует точ­ному результату.
Численное интегрирование. Для численного интегрирования в математике существует достаточно много методов. Однако практически все они использу­ют квадратурные формулы вида
b
∫
a
которые отличаются выбором узловых точек
n
=
∑
=
i
0
89
xfQdxxf
)()( ,
ii
и
коэффициентов
x
i
.
Q
i
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]