Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Система компьютерной математики Octave. Лабораторный практикум
.pdf
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
