Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы научных исследований и техника эксперимента. Конспект лекций для студентов направления 150900

.pdf
Скачиваний:
37
Добавлен:
22.01.2014
Размер:
929.49 Кб
Скачать

Федеральное агентство по образованию ГОУВПО «Тульский государственный университет» КАФЕДРА ТЕХНОЛОГИИ МАШИНОСТРОЕНИЯ

Федин Е.И., доцент

ОСНОВЫ НАУЧНЫХ ИССЛЕДОВАНИЙ И ТЕХНИКА ЭКСПЕРИМЕНТА

Аппроксимация экспериментальных данных методом наименьших квадратов

Методические указания по проведению практических занятий

для студентов специальности 150401 всех форм обучения

Тула 2007

2

 

 

СОДЕРЖАНИЕ

 

1

ЦЕЛЬ И ЗАДАЧИ ПРАКТИЧЕСКИХ ЗАНЯТИЙ................................................

3

2

АППРОКСИМАЦИЯ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ПО МЕТОДУ

НАИМЕНЬШИХ КВАДРАТОВ. ...............................................................................

4

 

2.1

Математическое описание метода...............................................................

4

 

2.2

Этапы аппроксимации опытных данных....................................................

7

3

РАЗРАБОТКА АЛГОРИТМА АППРОКСИМАЦИИ. .........................................

8

 

3.1

Линейная аппроксимация.............................................................................

8

 

 

3.1.1 Алгоритм линейной аппроксимации................................................

9

 

3.2. Нелинейная аппроксимация......................................................................

11

ЗАКЛЮЧЕНИЕ.........................................................................................................

12

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

аппроксимации экспериментальных данных [2]. ..................................................

13

3

1 ЦЕЛЬ И ЗАДАЧИ ПРАКТИЧЕСКИХ ЗАНЯТИЙ

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

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

-установление истинной, функциональной зависимости, отражающей действительную связь между откликом и контролируемыми факторами;

-построение регрессионной модели с определением численных значений

еекоэффициентов.

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

С учетом выше изложенного в данных методических указаниях приводится строго формализованная методика проведения обработки опытных данных эксперимента с целью совершенствования процессов технологии машиностроения путем создания и исследования их математических моделей на базе аппроксимации по методу наименьших квадратов.

Для достижения поставленной цели необходимо решить следующие за-

дачи:

- описать математические основы метода наименьших квадратов;

4

-определить основные этапы аппроксимации и методы их выполнения;

-рассмотреть практические примеры регрессионного анализа на ЭВМ.

2 АППРОКСИМАЦИЯ ЭКСПЕРИМЕНТАЛЬНЫХ ДАННЫХ ПО МЕТОДУ НАИМЕНЬШИХ КВАДРАТОВ.

2.1 Математическое описание метода

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

Способ же наименьших квадратов заключается в следующем. Пусть результаты n измерений представлены значениями:

x1, x2, x3, … xn (факторы - входные параметры) и

y1, y2, y3, ... yn (экспериментальные данные - выходные параметры),

и пусть y = f(x) есть искомая экспериментальная математическая модель (функция). Требуется так подобрать параметры функции f(x), чтобы разности f(xi) yi при i = 1,2,3, … n были наименьшими. Так как разности могут быть как положительными, так и отрицательными, то за критерий качества аппроксимации принимают наименьшую сумму квадратов разностей:

n

W = [f (xi ) yi ]2 min

i=1

Чтобы определить минимум функции W необходимо найти частные производные этой функции по всем параметрам искомой закономерности. Предположим, что искомая функция – полином степени k: f(xi)=F(х, а0, a1, a2, a3 … ak). В этом случае частные производные функции W по всем коэффициентам полинома а0, а1, а2, … аk должны быть равны нулю. Таким образом, запишем следующую систему:

W(x,a0 ,a1,a2 ,...,ak ) =0

 

a0

 

W(x,a0 ,a1,a2 ,...,ak ) =0

 

a1

(1)

...

W(x,a0 ,a1,a2 ,...,ak ) =0

ak

5

Учитывая, что искомая функция (математическая модель) была представлена полиномом:

F(x, a0, a1, a2, … ak) = a0 + a1x + a2x2 + … + akxk

систему уравнений (1) можно теперь переписать в виде:

 

 

 

 

n

 

,...,ak ) yi ]2 =0

 

 

 

 

[F(xi ,a0

,a1,a2

 

a

 

 

 

0 i=1

 

 

 

 

 

 

n

 

 

 

 

 

[F(xi ,a0 ,a1,a2 ,...,ak ) yi ]2 =0

 

 

 

 

 

a1 i=1

 

 

...

 

 

 

 

 

 

 

 

 

 

n

 

,...,ak ) yi ]2 =0

 

 

 

 

[F(xi ,a0

,a1,a2

 

 

 

 

 

 

ak i=1

 

 

Упростим систему (3), обозначив

Z= F(x, a0, a1, a2, … ak) – yi = a0 + a1x + a2x2 + … + akxk – yi

иучитывая, что производная от Z2 равна (Z2)' = 2Z Z'

(2),

(3)

 

 

 

 

n

 

 

 

2

 

 

 

 

 

n

Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z

 

 

=0

 

 

 

 

 

 

 

 

=0

 

 

 

a

 

 

 

 

2Z

a

 

 

 

 

 

 

 

0

 

i

1

 

 

 

 

 

 

 

 

i=1

 

0

 

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

2

 

 

 

 

 

n

Z

 

 

 

 

 

 

 

Z

 

=0

 

 

 

 

 

 

 

=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или

2Z

 

 

 

 

 

(4)

 

a1 i=1

 

 

 

 

 

 

 

i=1

a1

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

2

 

 

 

 

n

 

 

Z

 

 

 

 

 

 

 

 

 

Z

 

 

=0

 

 

 

 

 

 

 

 

 

 

 

a

 

 

i=1

 

 

 

2

 

 

 

Z

a

 

 

 

=0

 

 

k

 

 

 

 

 

 

 

i

=

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Но частные производные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z

 

=

(a0 + a1xi + a2xi2

+... + ak xik yi )

=1

 

 

 

a0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a0

 

 

 

 

 

 

 

 

 

Z = xi a1

...

aZ = xik

k

Сократив каждое уравнение системы (4) на 2, получим преобразованную систему:

6

n [F(xi ,a0 ,a1,a2 ,...,ak ) yi ]=0

i=1

n {[(F(xi ,a0 ,a1,a2 ,...,ak ) yi )] xi }=0

i=1

...

n {[F(xi ,a0 ,a1,a2 ,...,ak ) yi )] xik 1}=0

i=1

n {[F(xi ,a0 ,a1,a2 ,...,ak ) yi ] xik }=0

i=1

Раскроем математическое выражение суммы

n

F(xi , a0 , a1, a2 ,ak ) =a0 + a1x1 + a2x12 +... + ak x1k +...

i=1

... + a0 + a1xn + a2xn2

+... + ak xnk

n

n

= na0 + a1 xi +... + ak xik

 

 

i=1

i=1

(5)

(6)

Величину количества измерений можно представить суммой единиц

n

n = 1. Подставив значение (6) в систему уравнений (5) получим:

i=1

 

n

 

 

n

n

 

n

n

 

a0 1

+ a1 xi +...

+ ak 1 xik 1

+ ak xik =

yi

 

 

i=1

 

 

i=1

i=1

i=1

i=1

 

 

n

 

 

n

n

 

n

n

 

a0

xi

+ a1 xi2 +

... + ak 1 xik

+ ak xik +1

= yi xi

 

i=1

 

 

i=1

i=1

i=1

i=1

 

...

 

 

 

 

 

 

 

 

(7)

 

n

 

 

n

n

 

n

 

n

a0

xik 1

+ a1 xik

+... + ak 1 xi2k 2

+ ak xi2k 1

= yi xik 1

 

i=1

 

 

i=1

i=1

 

i=1

i=1

 

n

 

 

n

n

 

n

 

n

a0

xik + a1 xik +1

+... + ak 1 xi2k 1

+ ak xi2k = yi xik

 

i=1

 

 

i=1

i=1

 

i=1

i=1

Для простоты запоминания можно воспользоваться условной формулой матричного представления системы уравнений (7), поясняемой таблицей 1.

Система (7) состоит из k+1 уравнений, где k – степень полиномиальной математической модели. Каждое уравнение имеет k+1 членов в левой части и один – в правой. Левая часть всех уравнений – это сумма одинаковых выражений, являющихся элементами матрицы размерностью (k+1)×(k+1) и имеющих вид

n

aL xi(L+R) , i=1

7

n

а правая часть – одно выражение вида yi xiR ,

i=1

где L – номер столбца, а R – номер строки матрицы. При этом следует иметь в виду, что начальные строка и столбец имеют номер 0 (см. табл. 1).

 

Таблица 1. Матричное представление членов системы уравнений (7)

 

 

 

 

 

Левая часть уравнений системы (7)

 

Правая

 

 

 

 

Номера столбцов (членов уравнений) L

 

часть (7)

 

 

 

0

 

1

k-1

 

k

 

R

 

0

 

 

 

 

 

 

 

 

строк

 

1

 

 

 

 

 

 

 

 

 

 

 

 

aL xi(L+R)

 

 

 

yi xiR

Номера

 

 

 

 

n

 

 

 

n

 

 

 

 

 

i=1

 

 

 

i=1

 

 

 

 

 

 

 

 

 

 

 

k-1

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

Например, при k=6 матрица имеет по 7 строк и столбцов – по количеству уравнений в системе (7) и членов левой части каждого уравнения. Уравнение с порядковым номером 4 соответствует строке матрицы R=3 и имеет вид

n

n

n

n

n

n

n

n

a0 xi3

+ a1 xi4

+ a2 xi5

+ a3 xi6

+ a4 xi7

+ a5 x8i

+ a6 xi9

= yi xi3

i=1

i=1

i=1

i=1

i=1

i=1

i=1

i=1

2.2 Этапы аппроксимации опытных данных

Методологически процесс аппроксимации состоит из определенной последовательности решения следующих задач:

-экспериментальные точки следует нанести на график в выбранной системе координат;

-по характеру расположения экспериментальных точек следует подобрать аппроксимирующую зависимость (см. приложение П1);

-используя результирующую систему уравнений (7), необходимо записать соответствующие для конкретного исследуемого процесса зависимости и решая их определить коэффициенты аппроксимирующей полиномиальной (или другой) функции а012,…ак;

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

Наиболее трудоемким является третий этап, который целесообразно выполнять с использованием ЭВМ. Алгоритм и программы для каждого конкретного случая аппроксимации будут отличаться лишь объемом математического аппарата без изменения ранее рассмотренной его сущности.

8

3 РАЗРАБОТКА АЛГОРИТМА АППРОКСИМАЦИИ.

Рассмотрим процесс алгоритмизации решения поставленной задачи на ЭВМ на примере аппроксимации опытных данных линейной функцией. В данном случае рассмотрим, например, два варианта решения задачи:

1)аппроксимирующая функция – прямая, параллельная оси абсцисс;

2)аппроксимирующая прямая описывается уравнением прямой в отрез-

ках.

3.1Линейная аппроксимация

Впервом рассматриваемом варианте результирующая система превратится в одно уравнение:

 

 

 

n

n

n

 

yi

a0 1

= yi , откуда a0

=

i=1

.

 

i=1

i=1

 

n

Полученное выражение представляет собой среднее арифметическое ординат экспериментальных значений искомой математической модели. Подобную аппроксимацию можно представить графически (рис.1).

Рис. 1. Аппроксимация прямой, параллельной оси абсцисс.

Для подобного случая нет необходимости составлять какие-то программы для решения, т.к. все элементарно просто. Рассмотрим второй вариант линейной аппроксимации. В этом случае аппроксимирующая функция имеет вид:

y = a0 + a1x

Для этого уравнения аппроксимирующая система уравнений запишется следующим образом:

n

n

 

 

a0n + a1 xi = yi

 

i=1

i=1

(8)

n

n

n

 

a0 xi + a1

xi2

= yi xi

 

i=1

i=1

i=1

 

Введем обозначения, упрощающие алгоритм вычислительного процесса:

 

9

n

n

xi = A ;

xi2 = B;

i=1

i=1

n

n

yi =C ;

yi xi = D .

i=1

i=1

Тогда для данного варианта линейной регрессии исходная система запишется:

a0n + a1A =C

 

a0A + a1B = D .

(9)

Умножив первое уравнение системы (9) на В≠0, второе на –А≠0, выполним их сложение:

a0nB a0A2 =CB AD .

Определим выражение для коэффициента регрессии а0

 

a0

=

CB AD

.

(10)

 

 

 

nB A2

 

Аналогично решаем систему (9) относительно коэффициента а1, умножив первое уравнение на А≠0, а второе на –n≠0. В результате сложения уравнений получим:

a1 =

AC Dn

.

(11)

 

 

A2 nB

 

3.1.1 Алгоритм линейной аппроксимации

Алгоритм нахождения коэффициентов а0 и а1, если имеется n точек аргумента x и n значений функции Y, представлен на рис.2. Таблица соответствия переменных для представленного алгоритма приведена в табл. 1.

Таблица 1. Соответствие переменных в (7) и Basic-программе

 

 

 

 

n

В расчетах

x

y

n

xi

 

 

 

 

i=1

В программе

X(I)

Y(I)

N

A

n

n

n

 

 

xi2

yi

yi xi

a0

a1

i=1

i=1

i=1

 

 

B

C

D

A1

A2

Программа расчета на языке QuickBasic:

‘Объявление переменных и массивов

DIM N AS INTEGER, I AS INTEGER DIM X(N) AS SINGLE, Y(N) AS SINGLE

DIM A AS SINGLE, B AS SINGLE, C AS SINGLE, D AS SINGLE DIM A1 AS SINGLE, A2 AS SINGLE

‘Ввод количества экспериментальных точек

INPUT N

Рис. 2. Алгоритм нахождения коэффициентов линейной математической модели.

10

‘Цикл ввода экспериментальных данных

FOR I=1 TO N INPUT X(I),Y(I)

NEXT I

‘Очистка «сумматоров» (для повторного расчета) A=0: B=0: C=0: D=0

‘Цикл расчета сумм A…D FOR I=1 TO N

A=A+X(I)

B=B+X(I)^2

C=C+Y(I)

D=D+X(I)*Y(I) NEXT I

‘Расчеты коэффициентов линейной модели

A1=(C*B-A*D)/(N*B-A^2)

A2=(A*C-D*N)/(A^2-B*N) ‘Вывод результатов на экран

PRINT A1=;A1,A2=;A2 END

ЗАДАНИЕ. Модернизируйте приведенную программу с реализацией:

-ввода экспериментальных данных (и их количества) из текстового файла;

-проверки возможных ошибок с выдачей сообщений (например, при отсутствии файла данных или делении на ноль);

-вывода результатов расчетов на печать (принтер).

Графическая интерпретация результатов линейной аппроксимации y = a0 + a1x представлена на рис.3.

Рис.3. Аппроксимация отрезком прямой.