Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
total2.doc
Скачиваний:
371
Добавлен:
17.04.2013
Размер:
5.04 Mб
Скачать

4.4. Программы решения задач интерполяции с помощью Matlab

Нахождение коэффициентов интерполяционного полинома

.

Узлы интерполяции составляют вектор размерности , а вектора и , где , имеют вид

, , .

Матрица Вандермонда V может быть найдена с помощью следующей программы

Программа 4.1.

V=ones(m);

x1=x;

for j=2:m,

V(:,j)=x1;

x1=x1.*x;

end

Решая систему линейных алгебраических уравнений , получаем вектор : a=inv(V)*b. Значения полинома (4.13) в точке xc можно вычислить следующим образом:

Программа 4.2

xc=input(‘ xc=? ‘)

p=a(m);

for i=1:(m1),

p=p*xc+a(mi);

end

Вычисления можно организовать, найдя сначала вектор, содержащий степени , .

Программа 4.3

xc=input(‘ xc=? ‘)

xv=ones(m,1);

x1=1;

for i=2:m,

x1=x1*xc;

xv(i)=x1;

end

p=sum(a.*xv)

Нахождение коэффициентов интерполяционного полинома

Обозначим коэффициенты полинома следующим образом , , , …, , и рассмотрим вектор-столбец с указанными компонентами. Тогда для вычисления этих коэффициентов нужно выполнить следующую программу.

Программа 4.4

a=ones(m,1);

a(1)=y(1);

x1=x;

y1=y;

for i=2:m,

x1=diff(x1);

y1=diff(y1);

yd=y1./x1;

a(i)=yd(1);

end

Здесь и – соответственно векторы, содержащие узлы и значения функции в этих узлах.

Для равноотстоящих узлов вычисления следует организовать иначе:

Программа 4.5

a=ones(m,1);

a(1)=y(1);

h=x(2)x(1);

y1=y;

q=1;

for i=2:m,

y1=diff(y1);

q=q*(i1)*h;

a(i)=y1(1)/q;

end

Вычисление значения полинома в точке xc, как и в случае вычисления значений полинома (4.13), можно организовать двумя способами.

Программа 4.6. Первый способ (с использованием рекурсии)

xc=input(‘ xc=? ‘)

p=a(m);

for i=1:(m1),

p=p*(xcx(mi))+a(mi);

end

Программа 4.7. Второй способ (с построением вектора произведений )

xc=input(‘ xc=? ‘)

xv=ones(m,1);

x1=1;

for i=2:m,

x1=x1*(xcx(i1));

xv(i)=x1;

end

p=sum(a.*xv)

Задания к главе 4

Найти интерполяционный полином для функции , заданной таблицей,

а) используя решение алгебраической системы с матрицей Вандермонда,

б) вычисляя конечные разности.

Построить график интерполяционного полинома. Вычислить значения этой функции при указанных, не входящих в таблицу значениях и аргумента .

4.1.

1,1

1,6

2,1

2,6

3,1

3,6

4,1

4,6

1,029

1,389

1,649

1,800

1,852

1,822

1,739

1,632

4.2.

0,13

0,18

0,23

0,28

0,33

0,38

0,43

0,48

0,129

0,178

0,228

0,275

0,324

0,371

0,417

0,463

.4.3.

1,1

1,2

1,3

1,4

1,5

1,6

1,7

1,8

0,119

0,089

0,066

0,048

0,034

0,024

0,016

0,011

4.4. .

50

55

60

65

70

75

80

85

0,285

0,319

0,223

0,042

-0,148

-0,273

-0,283

-0,178

4.5.

1,1

1,1

1,2

1,3

1,4

1,5

1,6

1,7

1,042

1,062

1,087

1,119

1,16

1,212

1,274

1,350

4.6.

1,8

1,9

2,0

2,1

2,2

2,3

2,4

2,5

1,958

2,107

2,268

2,443

2,632

2,841

3,071

3,324

4.7.

0,75

0,8

0,85

0,90

0,95

1,00

1,05

1,10

0,742

0,789

0,835

0,880

0,924

0,967

1,008

1,046

4.8.

1,70

1,75

1,80

1,85

1,90

1,95

2,00

2,05

1,232

1,210

1,179

1,139

1,089

1,028

0,956

0,871

4.9.

2,70

2,75

2,80

2,85

2,90

2,95

3,00

3,05

1,583

1,487

1,372

1,238

1,084

0,907

0,707

0,482

4.10.

10

15

20

25

30

35

40

45

0,985

0,966

0,940

0,906

0,866

0,819

0,766

0,707

4.11. Для функции построить интерполяционный полином, выбрав узлы и используя значения , и . Вычислить .

4.12. Применяя интерполирование решить следующие уравнения:

а) б) в)

4.13. Используя таблицу, методом обратного интерполирования решить уравнение :

2

2,2

2,4

2,6

3,6269

4,4571

5,4662

9,6947

4.14. Используя таблицы, методом обратного интерполирования решить уравнение :

60o

61o

62o

1,732

1,804

1,881

4.15. Вычислить значение интегрального синуса

при , используя таблицу его значений:

0,37

0,42

0,47

0,52

0,36720

0,41591

0,46427

0,51225

5. численное дифференцирование и интегрирование

В прикладных задачах в результате расчетов или измерений получаются таблицы значений, определяющие некоторые функциональные зависимости. Как правило, такие таблицы для получения необходимых для исследователей новых характеристик требуется обрабатывать. Очень часто приходится находить производные или интегралы от соответствующих этим зависимостям функций. Численное дифференцирование и интегрирование применяется в тех случаях, когда производную или интеграл от функции трудно или невозможно вычислить аналитически, а также в случае, когда сама функция задана таблицей. Кроме этого формулы численного дифференцирования используются при разработке вычислительных методов решения дифференциальных и нелинейных уравнений, поиска точек экстремума и т.д. Необходимо отметить, что формулы численного интегрирования в целом хорошо обусловлены, т.е. погрешность задания функции оказывает контролируемое влияние на точность вычисления.

Соседние файлы в предмете Численные методы