Приближение функции по методу наименьших квадратов (МНК). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Приближение функции по методу наименьших квадратов (МНК).



МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

 

к лабораторным и самостоятельным работам

по курсам «Информатика» и «Вычислительная математика»

 

ЧИСЛЕННЫЕ МЕТОДЫ

 

 

ЧАСТЬ 2

 

 

Казань

УДК 621.313: 518.6

 

Составители: Ф.Г.Ахмадиев, Ф.Г.Габбасов, Р.Ф.Гиззятов, И.В.Маланичев.

 

 

Методические указания к лабораторным и самостоятельным работам

по курсам "Информатика" и «Вычислительная математика». Численные методы. Часть 2. /Казанский государственный архитектурно-строительный университет. Сост.: Ф.Г.Ахмадиев, Ф.Г.Габбасов, Р.Ф.Гиззятов, И.В.Маланичев. – Казань, 2011. – 36 с.

 

 

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

 

 

Рецензент – Р.Б.Салимов, доктор физ.-мат. наук, профессор

 

 

Казанский государственный

ã архитектурно-строительный

университет, 2011 г.


Аппроксимация функций.

Порядок решения.

1) Ввести таблицу в рабочий лист Excel (рис. 4.1). Выделить ячейки таблицы.

2) Вызвать Мастер диаграмм. Выбрать тип диаграммы – точечная (без соединительных линий). Нажать кнопку «Готово». На рабочем листе появится график точек таблицы.

 

Рис. 4.1. Добавление линии тренда в точечную диаграмму.

 

3) Вызвать контекстное меню (правой кнопкой мыши) одной из точек графика. Выбрать пункт «добавить линию тренда».

4) На вкладке тип выбрать полиномиальная аппроксимация и установить степень полинома равной 2 (рис. 4.2).

5) На вкладке параметры отметить «показывать уравнение на диаграмме».

 

Рис. 4.2. Настройка параметров линии тренда.

 

6) Закрыть окно настроек, нажав кнопку ОК. Появляется линия графика аппроксимирующей функции и соответствующая формула (рис. 4.3):

 

Рис. 4.3. Результаты аппроксимации.

 

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

 

Таблица 4.6. Таблица замены переменых для метода линеаризации данных
Функция Линеаризованная форма Замена переменных и констант
1.
2.
3.
4.
5.
6.

 

Пример 4.4. Используя МНК, построить эмпирическую зависимость , аппроксимирующую следующие табличные значения:

Таблица 4.7.
1,5 2,5 3,3  
       

 

Решение. Расчеты представим в виде таблицы.

Таблица 4.8.
  1,5   0,405 2,197 0,164 0,891 8,81
  2,5   0,916 3,434 0,840 3,147 32,08
  3,3   1,194 4,190 1,425 5,002 64,75
      1,386 4,682 1,922 6,491 105,35
    3,902 14,503 4,351 15,530  

Система для определения коэффициентов имеет вид:

(4.10)

Решая систему (4.10), получим следующие значения параметров: , .

Тогда (табл. 4.6) , .

Эмпирическая зависимость имеет вид:

 

Аппроксимация произвольной функцией может быть выполнена в программе Excel с помощью модуля «Поиск решения».

Пример 4.5. Используя программу Excel, построить эмпирическую зависимость, аппроксимирующую значения из таблицы:

Таблица 4.9.
  1,5   2,5   3,5  
0,3 0,7 1,4 1,9 1,3 0,5 0,3

 

Порядок решения.

1) Аппроксимирующая функция должна иметь экстремум в виде пика. Выберем следующую функцию, зависящую от трех параметров :
;

2) Ввести в ячейки A2, B2, C2 (рис. 4.4) начальные значения параметров , например 1 1 1

3) В ячейки A5:A11 – значения

4) В ячейки B5:B11 – значения

5) В ячейку C5 – формулу аппроксимирующей функции (на ячейки с параметрами абсолютные ссылки): =$A$2*EXP(-((A5-$B$2)^2)/$C$2)

6) Скопировать формулу в ячейки C6:C11

7) В ячейку D5 – формулу квадрата разности: =(B5-C5)^2

8) Скопировать формулу в ячейки D6:D11

9) В ячейку D12 – сумму квадратов: =СУММ(D5:D11)

10) Вызвать окно Поиск решения. В настройках указать:

Установить целевую ячейку $D$12

Равной минимальному значению

Изменяя ячейки $A$2:$C$2

11) Нажать кнопку Выполнить.

12) Подтвердить сохранение найденного решения.

13) Рабочий лист изменился и содержит решение (рис. 4.4):

Таким образом, аппроксимирующая данные табл. 4.9 функция имеет вид:

 

  A B C D E
  a1 a2 a3    
  1,815599 2,450734 0,968182    
           
  x y y~ квадрат разности  
    0,3 0,206516 0,00873931  
  1,5 0,7 0,713777 0,000189808  
    1,4 1,471935 0,005174633  
  2,5 1,9 1,811053 0,007911556  
    1,3 1,329506 0,000870603  
  3,5 0,5 0,582326 0,006777524  
    0,3 0,15218 0,021850689  
      сумма: 0,051514122  
           
Рис. 4.4. Аппроксимация данных нелинейной функцией с тремя параметрами с помощью программы Excel.

 

Рис. 4.5. Результаты аппроксимации функцией с тремя параметрами.

 

Точность аппроксимации можно оценить среднеквадратической ошибкой

,

которая не должна превышать погрешность исходных данных.

4.2. Интерполяционный полином в форме Лагранжа.

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

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

Этот полином называется интерполяционным полиномом, является единственным полиномом степени , и может быть записан, например, в форме Лагранжа или Ньютона.

Интерполяционный полином Лагранжа имеет следующую формулу:

(4.11)

где -фундаментальные полиномы Лагранжа. Они удовлетворяют равенствам

(4.12)

и зависят лишь от заданных узлов , но не от значений интерполируемой функции .

 

Пример 4.5. Пусть задана таблица:

 

Таблица 4.10
 

 

Необходимо построить интерполяционный полином Лагранжа, проходящий через заданные точки

Решение. Запишем фундаментальные полиномы Лагранжа:

Проверим свойство (4.11), например, для :

, , ,

Подставляя в полином Лагранжа находим:

Порядок решения.

14) Ввести таблицу в рабочий лист Excel (обыкновенные дроби вводятся как формулы, т.е. =9/8). Выделить ячейки таблицы.

15) Вызвать Мастер диаграмм. Выбрать тип диаграммы – точечная (без соединительных линий). Нажать кнопку «Готово».

16) Вызвать контекстное меню (правой кнопкой мыши) одной из точек графика. Выбрать пункт «добавить линию тренда».

17) На вкладке тип выбрать полиномиальная аппроксимация и установить степень полинома на единицу меньше числа точек, т.е. 3.

18) На вкладке параметры отметить «показывать уравнение на диаграмме».

19) Закрыть окно настроек, нажав кнопку ОК. Появляется линия графика интерполирующей функции и соответствующая формула:

Рис. 4.6. Результаты интерполяции в программе Excel.

Численное интегрирование.

Требуется вычислить определенный интеграл:

(5.1)

Выберем на отрезке интегрирования различных узлов

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

, (5.2)

которая называется квадратурной формулой интерполяционного типа.

Метод прямоугольников.

На каждом отрезке , функция заменяется полиномом нулевой степени .

Поэтому приближенно I вычисляется по формуле (см. рис. 5.1):

(5.3)

Рис. 5.1. Метод прямоугольников.

 

Для равноотстоящих узлов формула (5.3) имеет следующий вид:

, (5.4)

Или

(5.5)

Формулу (5.4) называют формулой левых прямоугольников, а (5.5) - правых прямоугольников.

Программа вычисления интеграла методом прямоугольников представлена на рис. 5.2.

 

DEF FNF(X)=SQR(2*X^2+1) A=0: B=1 N=8 H=(B-A)/N S=0 X=A 1 S=S+FNF(x)*H X=X+H IF X<B THEN 1 PRINT S END
Рис. 5.2. Программа вычисления интеграла методом прямоугольников.

 

Метод трапеций.

В этом методе на каждом отрезке функция заменяется полиномом 1-й степени .

По формуле Лагранжа:

(5.9)

Интегрируя на отрезке , получим:

(5.10)

Суммируя по всем (), получим формулу трапеций (см. рис. 5.3):

(5.11)

Для равноотстоящих узлов , , …, формула (5.11) принимает следующий вид:

(5.12)

или

(5.13)

Рис. 5.3. Метод трапеций.

Программа вычисления интеграла методом трапеций:

в программе, представленной на рис. 5.2, заменить отмеченные строки на следующие:

1 S=S+0.5*(FNF(x)+FNF(X+H))*H

X=X+H

5.3. Метод парабол (Симпсона).

Интервал разделим на отрезков. Группируя узлы тройками , на каждом отрезке интерполируемфункцию полиномом 2-й степени

По формуле Лагранжа:

Интегрируя на отрезке , получим:

(5.14)

Суммируяформулу (5.14)по всем отрезкам, получаем формулу для приближенного интегрирования (см. рис.5.4):

(5.15)

или

(5.15)

 

Рис. 5.4. Метод парабол.

Программа вычисления интеграла методом парабол (Симпсона):

в программе, представленной на рис. 5.2, заменить отмеченные строки на следующие:

1 S=S+(FNF(X)+4*FNF(X+H)+FNF(X+2*H))*H/3

X=X+2*H

Порядок решения.

20) Ввести в ячейки A1:F1 заголовки столбцов (рис. 5.5).

21) В ячейку A2 – нижний предел интеграла 0

22) В ячейку E2 – шаг разбиения для =(1-0)/8

23) В ячейку A3 – значение 0,125

24) Выделить ячейки A2:A3 и при помощи маркера заполнения ввести значения до в столбце A.

25) В ячейку B2 – формулу =КОРЕНЬ(2*A2^2+1)

26) Выделить ячейку B2 и при помощи маркера заполнения ввести значения в столбце B.

27) В ячейки С2, C3, … – коэффициенты

28) В ячейку D2 – формулу =B2*C2

29) Выделить ячейку D2 и при помощи маркера заполнения ввести значения в столбце D.

30) В ячейке D11 найти сумму чисел столбца D, используя кнопку Автосумма .

31) В ячейке F11 найти значение интеграла =D11*E2

 

  A B C D E F G
  x f(x) c cf h I  
      0,5 0,5 0,125    
  0,125 1,015505   1,015505      
  0,25 1,06066   1,06066      
  0,375 1,131923   1,131923      
  0,5 1,224745   1,224745      
  0,625 1,334635   1,334635      
  0,75 1,457738   1,457738      
  0,875 1,59099   1,59099      
    1,732051 0,5 0,866025      
        10,18222   1,272778  
               
Рис. 5.5. Вычисление определенного интеграла методом трапеций с помощью программы Excel.

 

Метод Эйлера.

Одним из простейших разностных методов решения обыкновенного дифференциального уравнения является одношаговый метод Эйлера.

Пусть требуется решить задачу Коши для уравнения первого порядка:

(6.5)

на отрезке .

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

, (6.6)

Соотношения (6.6) имеют вид рекурентных формул, с помощью которых значение сеточной функции в любом узле вычисляется по ее значению в предыдущем узле . На каждом шаге погрешность имеет порядок . На рис. 6.1 дана геометрическая интерпретация метода Эйлера. В силу невысокой точности формулой Эйлера редко пользуются в практических расчетах и используют более точные методы. Например, модифицированный метод Эйлера.

Рис. 6.1. Метод Эйлера.

Программа решения задачи Коши методом Эйлера дана на рис. 6.2.

CLS DEF FNY(X,Y)=X^2+Y DATA 0, 0.3, 1, 0.1 READ A, B, Y0, H PRINT A;Y0 X=A: Y=Y0 1 Y=Y+ FNY(X,Y)*H X=X+H PRINT X;Y IF X<B THEN 1 END
Рис. 6.2. Программа решения задачи Коши методом Эйлера.

Пример 6.1. Решить задачу Коши методом Эйлера для дифференциального уравнения

на отрезке с шагом

Решение. По формуле (6.6) вычислим значение

Аналогично вычисляются последующие значения функции в узловых точках

Сеточную функцию записываем в виде таблицы

  0,1 0,2 0,3
  1,1 1,211 1,3361

 

Порядок решения.

1) Ввести в ячейки A1:D1 заголовки столбцов (рис. 6.4).

2) В ячейку A2 0

3) В ячейки B2 и C2 1

4) В ячейку D2 – шаг интегрирования 0,1

5) В ячейку A3 – значение =A2+$D$2

6) В ячейку B3 – формулу =C2+$D$2*(A2^2+C2)

7) В ячейку С3 – формулу =C2+$D$2*(A2^2+C2+A3^2+B3)/2

8) Выделить ячейки A3:С3 и при помощи маркера заполнения ввести формулы в ячейки A4:С4 … A13:С12.

9) Столбцы A и С содержат решение.

 

    A B C D    
    x y~ y h    
          0,1    
    0,1 1,1 1,1055      
    0,2 1,21705 1,2241275      
    0,3 1,35054 1,3593609      
    0,4 1,504297 1,5150438      
    0,5 1,682548 1,6954234      
    0,6 1,889966 1,9051928      
    0,7 2,131712 2,1495381      
    0,8 2,413492 2,4341896      
    0,9 2,741609 2,7654795      
      3,123027 3,1504048      
               
Рис. 6.4. Решение задачи Коши модифицированным методом Эйлера с помощью программы Excel.
               

Метод Рунге-Кутта.

На основе метода Рунге-Кутта могут быть построены разностные схемы разного порядка точности. Наиболее употребительной является следующая схема четвертого порядка:

(6.11)

где

(6.12)

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

Программа решения задачи Коши методом Рунге-Кутта отличается от приведенной на рис. 6.2 заменой отмеченных строк на следующие:

1 K0 = H*FNY(X,Y)

K1 = H*FNY(X+H/2,Y+K0/2)

K2 = H*FNY(X+H/2,Y+K1/2)

K3 = H*FNY(X+H,Y+K2)

Y=Y+(K0+2*K1+2*K2+K3)/6

Пример 6.4. Решить задачу Коши методомРунге-Кутта для дифференциального уравнения на отрезке с шагом .

Решение. По формулам (6.12) вычислим значения , , , :

Используя формулу (6.11), находим значение в точке :

Аналогично вычисляются последующие значения функции в узловых точках

Сеточную функцию записываем в виде таблицы

  0,1 0,2 0,3
  1,105513 1,224208 1,359576

 

Порядок решения.

1) Ввести данные задачи в рабочий лист (рис. 7.3);

2) Ввести в ячейки B2, C2 начальный план, например 0 0

3) В ячейку D4 – формулу расчета затрат первого вида ресурсов (на ячейки плана абсолютные ссылки): =B4*$B$2+C4*$C$2

4) Скопировать формулу в ячейки D5:D6

5) В ячейку E8 – формулу расчета дохода: =B8*$B$2+C8*$C$2

 

  A B C D E
    А Б    
  план        
        использовано всего
  металл        
  стекло        
  чел.-час.        
           
  стоимость        
           
Рис. 7.3. Решение задачи ЛП с помощью программы Excel. Ввод данных.

 

6) Вызвать окно Поиск решения. В настройках указать (рис. 7.4):

Установить целевую ячейку $E$8

Равной максимальному значению

Изменяя ячейки $B$2:$C$2

 

Рис. 7.4. Настройки окна «Поиск решения» для задачи ЛП.

 

7) Нажать кнопку Добавить. Добавить ограничения на ресурсы (рис. 7.5) $D$4:$D$6<=$E4$E6

8) Нажать кнопку Добавить. Добавить условие неотрицательности переменных плана $B$2:$C$2>=0

9) Нажать кнопку OK.

Рис. 7.5. Добавление ограничения к задаче ЛП.

10) Нажать кнопку Выполнить.

11) Подтвердить сохранение найденного решения.

12) Рабочий лист изменился и содержит решение (рис. 7.6):

  A B C D E
    А Б    
  план        
        использовано всего
  металл        
  стекло        
  чел.-час.        
           
  стоимость        
           
Рис. 7.6. Решение задачи ЛП с помощью программы Excel. Результаты поиска решения.

Следует выпускать 35 единиц продукции вида А и 30 единиц продукции вида Б. Максимально возможный доход составит 710 $.

ЛИТЕРАТУРА

1. Калиткин Н.П. Численные методы. М.: Наука, 1978. - 512 с.

2. Турчак Л.И., Плотников П.В. Основы численных методов: Учебное пособие. М.: ФИЗМАТЛИТ, 2003. – 304 с.

3. Васильев А.Н. Научные вычисления в Microsoft Excel. М.: Издательский дом "Вильямс", 2004. – 512 с.

4. Ларсен У.Р. Инженерные расчеты в Excel. М.: Издательский дом "Вильямс", 2004. – 544 с.

5. Попов В.И. Численные методы расчета мостовых конструкций на ЭВМ. М.: 1981. – 78 с.

6. Ф.Г.Ахмадиев, Ф.Г.Габбасов, И.Н.Гатауллин, Р.Ф.Гиззятов, Р.И.Ибятов, Х.Г.Киямов. Методические указания к лабораторным работам по курсу «Информатика» для всех специальностей. Численные методы. Часть 1. КГАСУ, 2008г., 34с.

7. Ф.Г.Ахмадиев, Ф.Г.Габбасов, И.Н.Гатауллин, Р.Ф.Гиззятов, Р.И.Ибятов, Х.Г.Киямов. Методические указания к лабораторным работам по курсу «Информатика» для всех специальностей. Численные методы. Часть 2. КГАСУ, 2008г., 35с.

 

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

 

 

к лабораторным и самостоятельным работам

по курсам «Информатика» и «Вычислительная математика»

 

ЧИСЛЕННЫЕ МЕТОДЫ

 

 

ЧАСТЬ 2

 

 

Казань

УДК 621.313: 518.6

 

Составители: Ф.Г.Ахмадиев, Ф.Г.Габбасов, Р.Ф.Гиззятов, И.В.Маланичев.

 

 

Методические указания к лабораторным и самостоятельным работам

по курсам "Информатика" и «Вычислительная математика». Численные методы. Часть 2. /Казанский государственный архитектурно-строительный университет. Сост.: Ф.Г.Ахмадиев, Ф.Г.Габбасов, Р.Ф.Гиззятов, И.В.Маланичев. – Казань, 2011. – 36 с.

 

 

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

 

 

Рецензент – Р.Б.Салимов, доктор физ.-мат. наук, профессор

 

 

Казанский государственный

ã архитектурно-строительный

университет, 2011 г.


Аппроксимация функций.

Приближение функции по методу наименьших квадратов (МНК).



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 468; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.107.124 (0.225 с.)