Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум к Главе 3 - s5.doc
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
608.26 Кб
Скачать

Лабораторная работа 3.7. Построение прямой по методу наименьших квадратов

Задание.

Построить оптимальную прямую для заданных точек на плоскости с координатами ( ).

Варианты задания.

Для расчета на ЭВМ следует взять точек. Для ручного счета

точки. Точки берутся из таблиц Л3.7.1 – Л3.7.2 подряд, начиная с номера студента по журналу.

Таблица Л3.7.1. Варианты заданий.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

2 3 3 5 6 7 13 13 11 10 9 8 2 2 4 5 6 7 8 8 3 9 11

1 2 3 4 7 7 15 17 11.5 10 8 6.5 1 3 4 5.5 6 6.5 7 9 3 8 10

Таблица Л3.7.2. Варианты заданий (продолжение).

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

13 14 14 8 5 7 12 2 1 8 15 12 12 7 5 9 6 7 7 5

12 13 14 9 6 7 11 1 1 7 15 13 12 6.5 5 8 6 6.5 8 4

Пример выполнения лабораторной работы.

Пусть заданы координаты точек, представленные в таблице Л3.7.3.

Таблица Л3.7.3. Координаты заданных точек.

1

2

3

4

5

6

7

8

9

10

11

12

1

2

3

4

4

5

3

6

10

8

9

7

2

2,5

2

4

4,5

5

4

5

9

7

8

7

Ручной счет.

Расчет сведен в табличную форму (см. таблицу Л3.7.4).

Подставляем полученные значения в систему уравнений относительно коэффициентов искомой прямой и :

Таблица Л3.7.4. Ручной счет.

1

1

2

1

2

2

2

2,5

4

5

3

3

2

9

6

4

4

4

16

16

10

10,5

30

29

Решая эту систему, например, по методу Крамера, получим:

; ,

где ;

; .

Следовательно, ; .

Итак, уравнение искомой прямой имеет вид: .

Выполнение работы на ЭВМ.

Пример программы на Фортране:

program lab_3_7

integer(4), parameter :: n=12

real(4), dimension(n) :: x,y

real(4) :: s,sx,sy,sxy,sxx,a,b

integer(4) :: i

open(1,file=’inpdata.dat’) ! Исходные данные вводятся из файла

read(1,*)x

read(1,*)y

print 1,x

1 format(2x,’Dannie eksperimenta’,/2x,’X:’,(12f6.1))

print 2,y

2 format(2x,’Y:’,(12f6.1))

s=0.; sx=0.; sy=0.; sxy=0.; sxx=0.

do i=1,n

sx=sx+x(i); sy=sy+y(i); sxy=sxy+x(i)*y(i); sxx=sxx+x(i)*x(i)

end do

a=(n*sxy-sx*sy)/(n*sxx-sx*sx); b=(sy-a*sx)/n

do i=1,n

s=s+(a*x(i)+b-y(i))**2 ! Вычисление суммы квадратов отклонений

end do

print 3,a,b,s

3 format(10x,’MNK-pryamaya’/10x,’y=’,f8.4,’x+’,f8.4,5x,’s=’,f8.4)

pause

end

Результаты расчета:

Dannie eksperimenta

X: 1.0 2.0 3.0 4.0 4.0 5.0 3.0 6.0 10.0 8.0 9.0 7.0

Y: 2.0 2.5 2.0 4.0 4.5 5.0 4.0 5.0 9.0 7.0 8.0 7.0

MNK-pryamaya

y= 0.7918x+ 0.9089 s= 3.2807

250

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