Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otchet6.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
466.46 Кб
Скачать

МАРИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Кафедра физики и методики обучения физики

Отчет по лабораторной работе №6

ИНТЕРПОЛИРОВАНИЕ ФУНКЦИЙ

Выполнила: Максимова Е.Э.

Проверил: Андреев А.И.

Йошкар-Ола

2014

Исходная система:

x

y

0,10

1,26

0,12

1,31

0,13

1,32

0,15

1,36

0,17

1,41

0,19

1,42

0,22

1,52

в точке x=0,1026

Создадим новый файл maksimova_Pol.sci, содержащий описание функции, возвращающей значения полинома

function z=maksimova_Pol(a, x1)

M1=length(a);

s=0;

for i=1:M1

s=s+a(i)*x1.^(M1-i);

end;

z=s;

endfunction

Создадим новый файл maksimova_Vandermond.sci, содержащий описание функции, возвращающей значения элементов матрицы Вандермонда

function z=maksimova_Vandermond(x)

N=length(x);

z=ones(N,N);

for i=1:N

for j=1:N

z(i,j)=x(i).^(N-j);

end;

end;

endfunction

Зададим значения экспериментальных точек

x=[0.10;0.12;0.13;0.15;0.17;0.19;0.22]

disp(x)

y=[1.26;1.31;1.32;1.36;1.41;1.42;1.52]

disp(y)

В командном окне получим:

0.1

0.12

0.13

0.15

0.17

0.19

0.22

1.26

1.31

1.32

1.36

1.41

1.42

1.52

Теперь вычислим значения матрицы Вандермонда

M=maksimova_Vandermond(x)

Получим :

0.000001 0.00001 0.0001 0.001 0.01 0.1 1.

0.0000030 0.0000249 0.0002074 0.001728 0.0144 0.12 1.

0.0000048 0.0000371 0.0002856 0.002197 0.0169 0.13 1.

0.0000114 0.0000759 0.0005062 0.003375 0.0225 0.15 1.

0.0000241 0.0001420 0.0008352 0.004913 0.0289 0.17 1.

0.0000470 0.0002476 0.0013032 0.006859 0.0361 0.19 1.

0.0001134 0.0005154 0.0023426 0.010648 0.0484 0.22 1.

Вычислим значения коэффициентов полинома

a=M^-1*y

disp(a)

Получим:

- 1152528.8

1193484.9

- 504462.98

111506.43

- 13597.728

869.21977

- 21.524153

Таким образом, полином имеет вид:

Вычислим значение полинома в заданной промежуточной точке х=0,1026

В командном окне наберем:

x1=0.1026

y1=maksimova_Pol(a,x1)

В ответе получим:

y1 = 1.2736749

Теперь построим график найденного полинома,с наложенными заданными точками:

x1=0.10:0.001:0.21

y1=maksimova_Pol(a,x1)

plot(x1,y1,x,y,'.')

Теперь вычислим с помощью встроенной функции splin().

x=[0.10 0.115 0.13 0.15 0.17 0.19 0.21]

y=[1.263 1.302 1.323 1.362 1.406 1.448 1.512]

plot(x,y,'.')

d=splin(x,y);

S=interp(0.10:0.001:0.21,x,y,d);

plot2d(x',y',-1);

plot2d((0.10:0.001:0.21)',S',2,'000')

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]