Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ к лаб.раб..doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.22 Mб
Скачать

3. Задание к лабораторной работе

3.1. Выбрать функцию и значения аргумента в соответствии с вариантом.

X

Y

N вар

X1

Х2

Х3

Х4

1.375

5.04192

1

1.383

1.396

1.362

1.411

1.380

5.17744

7

1.378

1.392

1.370

1.402

1.385

5.32016

13

1.386

1.398

1.366

1.409

1.390

5.47069

19

1.384

1.393

1.372

1.405

1.395

5.62968

25

1.386

1.397

1.370

1.420

1.400

5.79788

X

Y

N вар

X1

Х2

Х3

Х4

0.115

8.65729

2

0.126

0.132

0.100

0.145

0.120

8.29329

3

0.117

0.131

0.105

0.148

0.125

7.95829

14

0.123

0.139

0.110

0.150

0.130

7.64893

20

0.121

0.133

0.112

0.152

0.135

7.36235

26

0.128

0.137

0.900

0.147

0.140

7.09613

X

Y

N вар

X1

Х2

Х3

Х4

0.150

6.61659

3

0.152

0.172

0.140

0.176

0.155

6.39989

9

0.161

0.168

0.142

0.180

0.160

6.19658

15

0.154

0.166

0.145

0.185

0.165

6.00551

21

0.164

0.174

0.135

0.188

0.170

5.82558

27

0.162

0.173

0.147

0.190

0.175

5.65583

X

Y

N вар

X1

Х2

Х3

Х4

0.180

5.61543

4

0.183

0.198

0.160

0.210

0.185

5.46693

10

0.187

0.201

0.166

0.222

0.190

5.32634

16

0.188

0.194

0.172

0.215

0.195

5.19304

22

0.191

0.197

0.175

0.211

0.200

5.06649

28

0.186

0.203

0.177

0.219

0.205

4.94619

X

Y

N вар

X1

Х2

Х3

Х4

0.210

4.83170

5

0.212

0.226

0.190

0.238

0.215

4.72261

11

0.216

0.231

0.195

0.241

0.220

4.61855

17

0.223

0.234

0.202

0.244

0.225

4.51919

23

0.217

0.228

0.205

0.250

0.230

4.42422

29

0.211

0.224

0.208

0.239

0.235

4.33337

X

Y

N вар

X1

Х2

Х3

Х4

1.415

0.888551

6

1.417

1.436

1.405

1.445

1.420

0.889599

12

1.425

1.439

1.408

1.449

1.425

0.890637

19

1.419

1.439

1.411

1.450

1.430

0.891667

24

1.423

1.434

1.414

1.455

1.435

0.892687

30

1.428

1.431

1.350

1.555

1.440

0.893698

3.2. Для каждого заданного значения аргумента найти значения функций.

3.3. Оценить правильность полученных результатов.

3.4. Оформить отчет по лабораторной работе.

Приложение

program labrab14;

var

mass : array [1..15,1..5] of real;

q, x1, x2, x3, x4, f1, f2, f3, f4 : real;

i, j, k : integer;

a : real;

begin

cls;

writeln('Решение задачи интерполирования с помощью многочленов Ньютона');

writeln;

write('Введите значение Х1, в котором вычисляется функция:');

readln(x1);

write('Введите значение Х2, в котором вычисляется функция:');

readln(x2);

write('Введите значение Х3, в котором вычисляется функция:');

readln(x3);

write('Введите значение Х4, в котором вычисляется функция:');

readln(x4);

writeln;

writeln('После окончания ввода значений аргумента Х необходимо ввести 0');

i:=0;

repeat

i:=i+1;

write('Введіть X значення [',i,']:');readln(mass[i,1]);

until mass[i,1]=0;

writeln;

k:=i-1;

for i:=1 to k do

begin

write('Введіть значення Y[',i,']:');readln(mass[i,2]);

end;

for i:=1 to k-1 do mass[i,3]:=mass[i+1,2]-mass[i,2];{ 1 }

for i:=1 to k-2 do mass[i,4]:=mass[i+1,3]-mass[i,3];{ 2 }

for i:=1 to k-3 do mass[i,5]:=mass[i+1,4]-mass[i,4];{ 3 }

for i:=1 to k-1 do mass[11,3]:=mass[11,3]+mass[i,3];

for i:=1 to k-2 do mass[11,4]:=mass[11,4]+mass[i,4];

for i:=1 to k-3 do mass[11,5]:=mass[11,5]+mass[i,5];

mass[12,2]:=mass[11,3];

mass[12,3]:=mass[11,4];

mass[12,4]:=mass[11,5];

writeln;

writeln('Результаты вычисления функции в заданных точках');

writeln;

writeln('Интерполирвание вперед и экстраполирование назад ');

writeln;

a:=abs(x1-mass[1,1]);

j:=1;

for i:=2 to k do

if (abs(x1-mass[i,1])<a)

then

begin

a:=abs(x1-mass[i,1]);

j:=i;

end;

q:=(x1-mass[j,1])/abs(mass[1,1]-mass[2,1]);

f1:= mass[j,2]+q*mass[j,3]+(q*(q-1)/2)*mass[j,4]+q*(q-1)*(q-2)/6*mass[j,5];

writeln('Y(',x1,' )=',f1:10:4);

a:=abs(x3-mass[1,1]);

j:=1;

for i:=2 to k do

if (abs(x3-mass[i,1])<a)

then

begin

a:=abs(x3-mass[i,1]);

j:=i;

end;

q:=(x3-mass[j,1])/abs(mass[1,1]-mass[2,1]);

f3:= mass[j,2]+q*mass[j,3]+(q*(q-1)/2)*mass[j,4]+ q*(q-1)*(q-2)/6*mass[j,5];

writeln('Y(',x3,' )=', f3:10:4);

writeln;

writeln('Интерполирвание назад и экстраполирование вперед');

writeln;

a:=abs(x2-mass[1,1]);

j:=1;

for i:=2 to k do

if (abs(x2-mass[i,1])<a)

then

begin

a:=abs(x2-mass[i,1]);

j:=i;

end;

q:=(x2-mass[j,1])/abs(mass[1,1]-mass[2,1]);

f2:= mass[j,2]+q*mass[j-1,3]+ q*(q+1)/2*mass[j-2,4]+q*(q+1)*(q+2)/6*mass[j-3,5];

writeln('Y(',x2,' )=', f2:10:4);

a:=abs(x4-mass[1,1]);

j:=1;

for i:=2 to k do

if (abs(x4-mass[i,1])<a)

then

begin

a:=abs(x4-mass[i,1]);

j:=i;

end;

q:=(x4-mass[j,1])/abs(mass[1,1]-mass[2,1]);

f4:= mass[j,2]+ q*mass[j-1,3]+q*(q+1)/2* mass[j-2,4]+q*(q+1)*(q+2)/6*mass[j-3,5];

writeln('Y(',x4,' )=',f4:10:4);

end.