Инфоурок Математика Другие методич. материалыМЕТОДИЧЕСКИЕ УКАЗАНИЯ для практических занятий по дисциплине «Численные методы» для студентов 3 курса (специальность Программирование в компьютерных системах

МЕТОДИЧЕСКИЕ УКАЗАНИЯ для практических занятий по дисциплине «Численные методы» для студентов 3 курса (специальность Программирование в компьютерных системах

Скачать материал

ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ, НАУКИ И МОЛОДЕЖНОЙ ПОЛИТИКИ ВОРОНЕЖСКОЙ ОБЛАСТИ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ БЮДЖЕТНОЕ УЧРЕЖДЕНИЕ СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ВОРОНЕЖСКОЙ ОБЛАСТИ

«СЕМИЛУКСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ»

 

 

 

 

 

М.Д. Евдокимова

 

 

 

 

методические указания

для  практических занятий

по  дисциплине «Численные методы»

для студентов 3 курса

(специальность 230115 Программирование в компьютерных системах)

 

 

 

 

 

 

 

 

Семилуки , 2014


Одобрено методическим советом ГОБУ СПО ВО «СГТЭК»

Автор-составитель: Евдокимова М.Д., преподаватель ГОБУ СПО ВО «СГТЭК»

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Учебное пособие содержит  указания для практических занятий по «Численные методы», являющейся профессиональной дисциплиной. Методические указания составлены  в соответствии с рабочей программой  по дисциплине «Численные методы» и предназначены для студентов 3-го курса, обучающихся по специальности 230115 Программирование в компьютерных системах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© Евдокимова М.Д., 2014

©ГОБУ СПО ВО «СГТЭК»
Оглавление

 

 

стр

Введение

5

Оценка практических работ обучающихся

7

Общая классификация ошибок

7

Раздел 1. Действия над приближенными числами

9

Практическое занятие №1 «Использование основных численных методов решения математических задач. Вычисление погрешностей результатов арифметических действий»

9

Раздел 2. Численные методы решения основных математических задач

17

Практическое занятие №2 «Решение алгебраических и трансцендентных уравнений приближенными методами (метод половинного деления): разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

17

Практическое занятие №3 «Решение алгебраических и трансцендентных уравнений приближенными методами (метод хорд и касательных): разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

21

Практическое занятие №4 «Решение систем линейных алгебраических уравнений методом Гаусса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

26

Практическое занятие №5 «Решение систем линейных алгебраических уравнений приближенными методами: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

35

Практическое занятие №6 «Составление интерполяционных формул Лагранжа и Ньютона: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

45

Практическое занятие №7 «Интерполирование сплайнами: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

49

Практическое занятие №8 «Вычисление интегралов при помощи формул Ньютона-Котеса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

55

Практическое занятие №9 «Вычисление интегралов при помощи формул Гаусса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

62

Практическое занятие №10 «Нахождение решений обыкновенных дифференциальных уравнений с использованием методов Эйлера: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

66

Приложение 1 Практическое занятие №2

74

Приложение 2 Практическое занятие №3

77

Приложение 3 Практическое занятие №4

80

Приложение 4 Практическое занятие №5

89

Приложение 5 Практическое занятие №6

93

Приложение 6 Практическое занятие №7

96

Приложение 7 Практическое занятие №8

101

Приложение 8 Практическое занятие №10

105

Литература

109

 


Введение

 

Методические указания к выполнению практических занятий по дисциплине «Численные методы» предназначены для закрепления теоретических знаний, полученных на лекциях, а также для овладения студентами умений и навыков применять эти знания при самостоятельной работе.

Перечень практических занятий соответствует рабочей программе по дисциплине «Численные методы»

 

Выполнение студентами практических работ по дисциплине проводится с целью:

- закрепления полученных теоретических знаний по дисциплине;

- углубления теоретических знаний в соответствии с заданной темой;

- формирования умений решать практические задачи;

- развития самостоятельности, ответственности и организованности;

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

- подготовки к экзамену.

 

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

 

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

ПК 1.7.в Осуществлять разработку кода программного продукта для решения вычислительных задач, учитывая необходимую точность получаемого результата.

ПК 2.5.в Реализовывать основные численные подходы к решению математических задач при работе в базе данных;

ПК 3.7.в Осуществлять разработку тестовых сценариев при решения основных математических задач.

 

В процессе освоения дисциплины у студентов должны формироваться общие компетенции:

ОК 1. Понимать сущность и социальную значимость своей будущей профессии, проявлять к ней устойчивый интерес.

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

ОКЗ. Принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность.

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

ОК 5. Использовать информационно-коммуникационные технологии в профессиональной деятельности.

ОК 6. Работать в коллективе и команде, эффективно общаться с коллегами, руководством, потребителями.

ОК 7. Брать на себя ответственность за работу членов команды (подчиненных), результат выполнения заданий.

ОК 8. Самостоятельно определять задачи профессионального и личностного развития, заниматься самообразованием, осознанно планировать повышение квалификации.

ОК 9. Ориентироваться в условиях частой смены технологий в профессиональной деятельности.

ОК 10. Исполнять воинскую обязанность, в том числе с применением полученных профессиональных знаний (для юношей).

 

В результате освоения учебной дисциплины обучающийся должен

уметь:

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

-         разрабатывать алгоритмы и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата.

 

знать:

-       методы хранения чисел в памяти ЭВМ и действия над ними, оценку точности вычислений, т.е. действия над приближенными числами;

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

 

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

Организация выполнения и контроля практических занятий по дисциплине «Численные методы» является подготовительным этапом к сдаче экзамена по данной дисциплине.

 

 


Нормы оценки знаний, умений и навыков обучающихся

 

Оценка практических работ обучающихся

 

Ответ оценивается отметкой «5», если:

-       работа выполнена полностью;

-       в логических рассуждениях и обосновании решения нет пробелов и ошибок;

-       в решении нет математических ошибок (возможна одна неточность, описка, которая не является следствием незнания или непонимания учебного материала).

 Отметка «4» ставится в следующих случаях:

-       работа выполнена полностью, но обоснования шагов решения недостаточны (если умение обосновывать рассуждения не являлось специальным объектом проверки);

-       допущены одна ошибка или есть два – три недочёта в выкладках, рисунках, чертежах или графиках (если эти виды работ не являлись специальным объектом проверки).

Отметка «3» ставится, если:

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

Отметка «2» ставится, если:

-       допущены существенные ошибки, показавшие, что обучающийся не обладает обязательными умениями по данной теме в полной мере.

Отметка «1» ставится, если:

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

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

 

Общая классификация ошибок

 

При оценке знаний, умений и навыков учащихся следует учитывать все ошибки (грубые и негрубые) и недочёты.

 

Грубыми считаются ошибки:

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

-       незнание наименований единиц измерения;

-       неумение выделить в ответе главное;

-       неумение применять знания, алгоритмы для решения задач;

-       неумение делать выводы и обобщения;

-       неумение читать и строить графики;

-       неумение пользоваться первоисточниками, учебником и справочниками;

-       потеря корня или сохранение постороннего корня;

-       отбрасывание без объяснений одного из них;

-       равнозначные им ошибки;

-       вычислительные ошибки, если они не являются опиской;

-       логические ошибки.

 

К негрубым ошибкам следует отнести:

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

-       неточность графика;

-       нерациональный метод решения задачи или недостаточно продуманный план ответа (нарушение логики, подмена отдельных основных вопросов второстепенными);

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

-       неумение решать задачи, выполнять задания в общем виде.

 

Недочетами являются:

-       нерациональные приемы вычислений и преобразований;

-       небрежное выполнение записей, чертежей, схем, графиков.

 


Раздел 1. Основные понятия и принципы моделирования

 

Практическое занятие №1

 «Использование основных численных методов решения математических задач. Вычисление погрешностей результатов арифметических действий»

 

Цель занятия:

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

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

 

Теоретический материал и методические указания к выполнению заданий

 

Приближение числа. Погрешности приближённых значений чисел

 

Пусть X-точное значение некоторой величины, x - наилучшее приближение этой величины.

Определение:  Абсолютной погрешностью ех приближенного значения числа Х называется модуль разности между точным числом Х его приближенным значением х, т.е. 

ех = ½Х-х ½.

Определение: Число х называется приближённым значением точного числа Х с точностью до Dх, если абсолютная погрешность приближённого значения a не превышает Dх, т.е. ½Х-х ½£ Dх .

Определение: Число Dх называется границей абсолютной погрешности приближённого значения числа х.

 

Число Dх  на практике стараются подобрать как можно меньше и простое по записи.

Из неравенства (1) найдём границы, в которых заключено точное значение числа Х:

х - Dх £ Х £ х + Dх.

НГх= х - Dх  - нижняя граница приближения величины Х.

ВГх= х +Dх - верхняя граница приближения величины Х.

 

Определение: Относительной погрешностью  приближенного числа х числа Х называется отношение абсолютной погрешности Dх этого приближения к числу х, т.е.

         

Если первая значащая цифра в относительной погрешности  меньше 5, то граница относительной погрешности определяется из неравенства , где  n- количество верных цифр.

 

Вычисление погрешностей арифметических действий

 

х#у

∆(х#у)

Δ(х#у)

х+у

x+y

х-у

x+y

ху

х/у

 

Оценка погрешностей значений функций

 

f(x)

sin x

cos x

tg x

ln x

lg x

arcsin x

arccos x

arctg x

 

Способы приближенных вычислений по заданной формуле

 

1.      Вычисление по правилам подсчета цифр

 

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

 

Правила метода:

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

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

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

4.      В записи промежуточных результатов следует сохранять на одну цифру больше, чем описано в правилах 1-3. В окончательном результате эта запасная цифра округляется.

Правила подсчёта цифр носят оценочный характер, но практическая надёжность этих правил достаточно высока.

При исследовании данного метода используется расчётная таблица – расписка формул.

 

Пример: Вычислить значение функции , а = 2,156, b = 0,927.

а

2,156

пояснения при подсчете верных цифр

b

0,927

8,637

 = 8,63652,

оценим производную ()’ = , значит (используя правило 3),  надо сохранить на один знак меньше, чем в значении аргумента + 1 запасная цифра.

0,9628

 = 0,9628083,

оценим производную , (используя правило 3) сохраняем три цифры как в аргументе + 1 запасная цифра.

+

9,600

+=8,637+0,9628=9,5998,

 (по правилу 1)результат округляется до трёх знаков после запятой, т.е. 9,600.

0,8593

,

(по правилу 2) результат округляем до трех цифр, как аргумент + 1 запасная цифра.

3,0153

,

(используя правило 1)округляем результат до трех цифр + 1 запасная цифра.

1,1037

,

оценим производную , (используя правило 3)  сохраняем три цифры как в аргументе + 1 запасная цифра.

A

8,698

,

при округлении результата использовали правило 2.

А

8,70

8-запасная цифра,

По правилу 4, запасная цифра в окончательном результате округляется

 

2.                 Вычисление со  строгим учётом предельных абсолютных погрешностей

 

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

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

 

Пример: Вычислить значение функции , а = 2,156, b = 0,927.

а

b

+

a+

ln(a+)

A

2,156

0,927

8,637

0,9628

9,603

0,860

3,016

1,104

8,70

 а

 b

()

()

(+)

()

 (a+)

 ln(a+)

A

0,0005

0,0005

0,0049

0,00027

0,0054

0,0016

0,0021

0,00076

0,016

 

Используя калькулятор, имеем .

При вычислении предельных абсолютных погрешностей используем таблицу 1.2. .

Судя по ее величине, в полученном значении экспоненты в строгом смысле верны два знака после запятой. Округляем это значение с одной запасной цифрой: и вносим его в таблицу.

При этом возникает погрешность округления: 8,637-8,63652=0,00048.

Вслед за этим вычисляем полную погрешность полученного результата (погрешность действия плюс погрешность округления: 0,0044+0,00048=0,0049), которую так же вносим в таблицу.

Все последующие действия выполняем аналогично с применением соответствующих формул для предельных абсолютных погрешностей.

Округляя окончательный результат до последней  верной в строгом смысле цифры, а так же округляя погрешность до соответствующих разрядов результата, окончательно получаем: А = 8,7 0,1.

 

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

 

3.      Вычисление по методу границ

 

Если нужно иметь абсолютно гарантированные границы возможных значений вычисляемой величины, используют специальный метод вычислений – метод границ.

Пусть f(x, y) – функция непрерывная и монотонная в некоторой области допустимых значений аргументов x и y. Нужно получить её значение f(a, b), где a и b – приближенные значения аргументов, причем достоверно известно, что

;                                          .

Здесь НГ, ВГ -  обозначение соответственно нижней и верхней границ значений параметров. Итак, вопрос состоит в том, чтобы найти строгие границы значения (a, b) при известных границах значений a и b.

 

Допустим, что функция f(x, y) возрастает по каждому из аргументов x и y. Тогда

.

Пусть теперь f(x, y) возрастает по аргументу x  и убывает по аргументу y. Тогда будет строго гарантировано неравенство

.

Рассмотрим указанный принцип на примере основных арифметических действий. Пусть . Тогда очевидно, что

.

Точно так же для функции (она по x возрастает, а по y убывает) имеем

.

Аналогично для умножения и деления:

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

Пример: Вычислить значение функции , а = 2,156, b = 0,927.

Нижняя и верхняя границы значений a и b определены из условия, что в исходных данных а = 2,156 и b = 0, 927 все цифры верны (,

т.е. 2,1555 < a < 2,1565;      0,9265 < b < 0,9275.

 

а

b

+

a+

ln(a+)

A

НГ

2,1555

0,9265

8,63220

0,96255

9,59475

0,85840

3,01434

1,10338

8,6894

ВГ

2,1565

0,9275

8,64084

0,96307

9,60391

0,86026

3,01676

1,10419

8,7041

 

Таким образом, результат вычислений значения  А по методу границ имеет вид 8,6894 < А < 8,7041.

 

По результатам вычислений получаем

 

что дает А = 8,6970,008, или при записи верными цифрами,   А=8,70,01.

 

Задания практического занятия №1

 

Задание 1.

 

Вычислите с помощью МК значение величины Z при заданны значениях параметров a, b и c, использую «ручные» расчетные таблицы для пошаговой регистрации результатов вычислений, тремя способами:

1)     по правилам подсчета цифр;

2)     с систематическим учетом границ абсолютных погрешностей;

3)     по способу границ.

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

 

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

 



Номер варианта

Z

a

b

c

1

3,4

6,22

0,149

2

4,05

6,723

0,03254

3

0,7219

135,347

0,013

4

3,672

4,63

0,0278

5

1,24734

0,346

0,051

6

11,7

0,0937

5,081

7

1,75

1,21

0,041

8

18,0354

3,7251

0,071

9

0,113

0,1056

89,4

10

0,0399

4,83

0,072

11

1,574

1,40

1,1236

12

12,72

0,34

0,0290

13

3,49

0,845

0,0037

14

0,0976

2,371

1,15874

15

0,11587

4,25

3,00971

 

Контрольные вопросы

 

1.      Что такое абсолютная погрешность приближенного значения величины?

2.      Что такое относительная погрешность приближенного значения величины?

3.      Какое влияние на погрешность арифметических действий оказывают погрешности исходных данных?

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

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

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

7.      Как вычисляются предельные погрешности результата при использовании методики итоговой оценки ошибки вычислений?

8.      В чем основное отличие метода границ от вычислений по методу строгого учета границ погрешностей?

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


Раздел 2. Численные методы решения основных математических задач

 

Практическое занятие №2

«Решение алгебраических и трансцендентных уравнений приближенными методами (метод половинного деления): разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить умения отделять корни алгебраических уравнений;

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

-         разработать алгоритм и программ для решения вычислительных задач методом половинного деления, учитывая необходимую точность получаемого результата.

 

 

Теоретический материал и методические указания к выполнению заданий

 

1.           Постановка задачи решения уравнений

 

Пусть имеется уравнение вида   f(x)=0  ,  где f(x) - алгебраическая или  трансцендентная функция.

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

 

2.           Отделение корней алгебраических и трансцендентных уравнений

 

Решение указанной задачи начинается с отделения корней, т.е. с установления:

количества корней;

наиболее «тесных» промежутков, каждый из которых содержит только один корень.

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

Тем не менее,  отделение корней во многих случаях можно произвести графически.

Упростим задачу, заменив уравнение f(x)=0  равносильным ему уравнением       f1(x)= f2(x).

В этом  случае строятся графики функций  f1(x) и  f2(x), а потом на оси х отмечаются отрезки, локализующие абсциссы точек пересечения этих графиков.

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

1.      Если непрерывная на отрезке [a;b] функция f(x) принимает на его концах значения разных знаков (т.е. f(a). f(b)<0), то уравнение (2.1) имеет на этом отрезке, по меньшей мере, один корень.

2.      Если функция f(x) к тому же еще и монотонна, то корень на отрезке [a;b] единственный.

 

Пример: Для графического отделения корней уравнения преобразуем его к равносильному уравнению  и отдельно построим графики функций .

Из графика вполне очевидно, что уравнение имеет единственный корень ξ и этот корень находится на отрезке [1;1,5].

Вычислим для проверки значения функции на концах отрезка [1;1,5]: f(1)=0.909298;  f(1,5)= -0,264344. Как видно, корень на отрезке [1;1,5] действительно имеется.

Рассмотренный прием позволяет при желании сузить отрезок, полученный графическим способом.

 Так, в нашем примере, имеем f(1,3)=0,253138>0, так что отрезком, на котором находится корень, можно считать[1,3;1,5].

 

3.      Метод половинного деления

 

Пусть уравнение f(x)=0 имеет на отрезке [a;b] единственный корень, причем функция f(x) на этом отрезке непрерывна. Разделим отрезок [a;b] пополам точкой с=(a+b)/2. Если f(c)≠0(что практически наиболее вероятно), то возможны два случая: f(x) меняет знак либо  на отрезке [a] (рис 1), либо на отрезке [с;b] (рис 2).

Рис 1. – функция f(x) меняет знак на отрезке [a;c]            Рис 2. – функция f(x) меняет знак на отрезке [c;b]

 

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

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

 

4.      Пример решения уравнений методом половинного деления

 

Пример: Найти корень уравнения  на отрезке [1,3;1,5] с точностью до 10-3.

Решение: Уравнение  имеет единственный корень на отрезке [1,3;1,5]

Уточним корень уравнения: Найдем середину отрезка [1,3;1,5]: .

Определим, на каком из полученных отрезков [1,3;1,4] и [1,4;1,5] функция меняет свой знак.

1) [1,3;1,4]:              2) [1,4;1,5]:

Значит, корень уравнения находится на отрезке [1,3;1,4].

Проверим, достигается ли заданная точность решения 10-3:

, точность не достигнута.

Разделим отрезок [1,3;1,4] пополам точкой .

Определим, на каком из полученных отрезков [1,3;1,35] и [1,35;1,4] функция меняет свой знак.

1) [1,3;1,35]: 2) [1,35;1,4]:

Значит, корень уравнения находится на отрезке [1,35;1,4].

Проверим, достигается ли заданная точность решения 10-3:

, точность не достигнута.

Снова разделим отрезок [1,35;1,4] пополам точкой .

Определим, на каком из полученных отрезков [1,35;1,375] и [1,375;1,4] функция меняет свой знак.

1)  [1,35;1,375]:  

2)  [1,375;1,4]:    

Значит, корень уравнения находится на отрезке [1,375;1,4].

Проверим, достигается ли заданная точность решения 10-3:

, точность не достигнута.

Продолжая делить отрезок пополам и проверять знаки функции на новых промежутках, до тех пор, пока не будет достигнута нужная точность решения, получим:

Решение уравнения с точностью 10-3: х=1,399.

 

Здания практического занятия №2

 

Задание 1.  Отделите корни заданного уравнения, пользуясь графическим методом.

 

Задание 2.  По методу половинного деления вычислите один корень заданного уравнения с точностью 10-3.

а) с помощью «ручной» расчетной таблицы и калькулятора;

б) с помощью программы для компьютера.

 

Сопоставьте и прокомментируйте полученные результаты.

 


Номер варианта

Уравнение

Пояснения

1

-

2

-

3

При х<10

4

При х>-10

5

При х<5

6

-

7

-

8

-

9

-

10

-

11

-

12

-

13

-

14

-

15

-

 

Контрольные вопросы

 

1.      Что означает «решить уравнение аналитически» и «решить уравнение численно»?

2.      В чем заключается задача отделения корней?

3.      В чем состоит основная идея метода половинного деления?

4.      Может ли метод половинного деления дать точное значение корня уравнения?

 

 

Практическое занятие №3

«Решение алгебраических и трансцендентных уравнений приближенными методами (метод хорд и касательных): разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить умения отделять корни алгебраических уравнений;

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

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

 

 

Теоретический материал и методические указания к выполнению заданий

 

1.           Постановка задачи решения уравнений

 

Пусть имеется уравнение вида   f(x)=0  ,  где f(x) - алгебраическая или  трансцендентная функция.

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

 

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

Оба метода основаны на следующем приеме.

Пусть уравнение f(x)=0  имеет единственный корень на отрезке [a;b]. Преобразуем его к равносильному уравнению

           (2.3)

где - любая функция, определенная на отрезке [a;b] и не обращающаяся на нем в нуль. Осуществляя различными способами выбор , можно получить, в частности, и указанные методы.

 

2.           Метод касательных

Пусть в (2.3) . Таким образом, итерационная последовательность строится с помощью рекуррентного соотношения

          (2.4)

Функция f(x) удовлетворяет следующим условиям:

1)  Является дважды дифференцируемой на отрезке [a;b];

2)  Обе производные – первая и вторая – не меняют знак на этом отрезке, т.е. функция F(x) монотонна и не меняет характер выпуклости.

 

В таком ситуации за х0 берется тот конец отрезка [a;b], на котором функция f(x) и ее вторая производная имеют одинаковые знаки, т.е. выполняется условие .

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

.      (2.5)

Рассмотренный метод называется методом касательных потому, что если обратиться к графической иллюстрации , то точка х1, определяемая по формуле (2.4) при n=0, есть точка пересечения касательной, проведенной к графику y=f(x) в точке с абсциссой , определяемой предыдущим членом последовательности, с осью абсцисс.

Каждому следующему члену итерационной последовательности (2.4) соответствует точка пересечения касательной, проведенной к графику y=f(x) в точке с абсциссой х0, с осью абсцисс.

 

3.           Пример решения уравнений методом касательных

 

Пример: Уточнить корень уравнения  на отрезке [1,3;1,5] методом касательных с точностью до 1..

Решение: Формула (2.4) в нашем примере имеет вид

,

т.к . производная .

Для определения точки  найдем знаки  и на концах отрезка [1,3;1,5]:

f (1, 3) = 0, 515501 - 0, 262363 = 0, 253137>0,

f (1, 5) = 0, 14112 - 0,405465 = - 0, 26435<0,

f” (1, 3) = -2,062 + 0,591716 = -1, 4703<0,

f” (1, 5) = -0, 56448 + 0, 4444 = - 0, 12<0.

Таким образом, .

Вычислим несколько членов итерационной последовательности «ручным» способом:

Сделаем проверку  (2.5) точности достижения корня:

      , значит

- требуемая точность не достигнута.

Снова проверка:

- требуемая точность достигнута.

Корень уравнения х1= 1, 399429 .

 

4.           Метод хорд

 

Реализуя метод касательных, при каждой итерации необходимо вычислить значение не только функции f(x), но и ее производной f’(х). Однако есть вариант метода Ньютона, в котором можно ограничиться вычислением только значений f(x), что иногда упрощает вычислительный алгоритм.

Если положить в (2.3) , а в качестве с взять тот конец промежутка [a;b], на котором , то приходим к итерационному методу:

, (2.6)

называемому методом хорд (или методом секущих).

В качестве х0 в этом случае следует принять тот конец промежутка [a;b], который остался после выбора с (т.е. если c=a, то x0=b или наоборот). Далее последовательность строится по формуле (2.6).

Оценка степени приближения к корню возможна с помощью неравенства (2.5).

На рисунке проиллюстрирован геометрический смысл метода.

В данном случае c=b, x0=a, х1 соответствует точке пересечения хорды, соединяющей концы кривой, с осью абсцисс. Далее находится точка на кривой с абсциссой х1, проводится следующая хорда и т.д.

 

5.      Пример решения уравнений методом касательных

 

Пример: Уточнить корень уравнения  на отрезке [1,3;1,5] методом хорд с точностью до 1..

Решение:  Точка с выбирается так же, как и точка х0 в предыдущем примере, т.е. с=1,5. Будем приближать точку х0= а = 1, 3.

Проверим, достигнута ли заданная точность.

- требуемая точность не достигнута.

Найдём следующее приближение:

Проверим точность:

- требуемая точность  достигнута

Итак, корень уравнения х=1, 39941.

 

Задания практического занятия №3

 

Задание 1.  Отделите корни заданного уравнения, пользуясь графическим методом. (см. практическое занятие №2)

 

Задание 2.  По методу хорд  вычислите один корень заданного уравнения с точностью 10-3.

а) с помощью «ручной» расчетной таблицы и калькулятора;

б) с помощью программы для компьютера.

 

Задание 3.  По методу касательных  вычислите один корень заданного уравнения с точностью 10-3.

а) с помощью «ручной» расчетной таблицы и калькулятора;

б) с помощью программы для компьютера.

 

Сопоставьте и прокомментируйте полученные результаты.

 


Номер варианта

Уравнение

Пояснения

1

-

2

-

3

При х<10

4

При х>-10

5

При х<5

6

-

7

-

8

-

9

-

10

-

11

-

12

-

13

-

14

-

15

-

 

Контрольные вопросы

 

1.           Дайте общее описание метода касательных?

2.           Дайте общее описание метода хорд?

3.           Нарисуйте геометрические схемы методов касательных и хорд.

4.           Запишите формулы для построения итерационных  последовательностей для каждого метода.

5.           Как проверяется требуемая точность в методах?

 

 

Практическое занятие №4

«Решение систем линейных алгебраических уравнений методом Гаусса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

 

-                                 закрепить усвоение теоретического материала по данной теме через решение упражнений;

-                                 закрепить умения решать системы линейных уравнений методом Гаусса;

-                                 закрепить умения находить значения определителя системы методом Гаусса;

-                                 закрепить умения находить обратную матрицу методом Гаусса.

 

 

Теоретический материал и методические указания к выполнению заданий

 

1.                                     Системы линейных алгебраических уравнений

 

Множество прикладных и чисто математических задач приводят к необходимости решения систем линейных алгебраических уравнений (С.Л.А.У). Без преувеличения можно утверждать, что это одна из важнейших задач вычислительной математики.

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

Итак, перед нами  система n линейных алгебраических уравнений с n неизвестными:                          (2.7)

Запись ее в такой форме достаточно громоздка. Будем использовать  матричную форму записи, совершенно равносильную (2.7):     AХ=B,

где

Методы решения С.Л.А.У. вида (2.7) можно разделить на два класса: точные и итерационные.

К точным методам относятся:

1. метод определителей (метод Крамера), хорошо известный из курса линейной алгебры;

2. матричное решение: X=A-1В (если известна обратная матрица);

3. различные варианты метода исключения неизвестных (метод Гаусса).

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

К итерационным методам относятся приближённые методы решения С.Л.А.У., основанные на применении принципа сжимающих отображений (метод Зейделя, метод простой итерации).

 

2.                                     Метод Гаусса решения систем уравнений

 

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

Сам по себе метод Гаусса относится к точным методам. Это означает, что если точно выполнять все требуемые действия, получено точное решение, поскольку погрешность метода в данном случае равна нулю.

Будем считать матрицу системы (2.7) невырожденной, т.е. ее определитель не равен нулю.

Рассмотрим алгоритм, который получил название схемы единственного деления.

Подвергнем систему (3.1) следующим преобразованиям.

Считая, что (ведущий элемент), разделим на  коэффициенты первого уравнения:          (2.8)

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

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

Повторяя этот процесс, получим систему с треугольной матрицей:

          (2.9)

Из системы (2.9) последовательно находим значения неизвестных

Отметим, что последовательное исключение неизвестных называется прямым ходом метода Гаусса. Нахождение значений неизвестных – обратным ходом.

 

Пример: Решить систему линейных уравнений:

Решение: Запишем расширенную матрицу системы:

Так как, , разделим элементы первой строки на 2,34. Затем из элементов второй строки вычтем элементы первой, умноженные на 8,04, а из элементов третьей - вычтем элементы первой, умноженные на 3,92.

.

Теперь элементы второй строки разделим на 19,685. И умножая их на (-0,938), вычтем из элементов третьей строки.

.

Элементы третьей строки, разделим на 29,732.

.

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

,

 

Так как в процессе решения выполнялись округления, то решение содержит вычислительную ошибку.

Определение: Значение разностей между свободных элементов исходной системы и результатами подстановки в уравнения системы найденных значений неизвестных  называется невязками.

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

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

 

3. Вычисление определителей матриц

 

Приступая к рассмотрению процесса решения системы линейных уравнений методом Гаусса, делается оговорка, что система невырожденная, т.е. её определитель отличен от нуля.

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

Рассмотрим алгоритм вычисления определителя в связи с решением с.л.а.у. методом Гаусса по схеме единственного деления.

Обозначим определитель системы через D.

Что происходит с ним на каждом шаге реализации метода Гаусса?

      1) ;

      2);

………………

       n).

Матрица коэффициентов при неизвестных системы, полученная в результате - треугольная, с единицами по главной диагонали. Поэтому её определитель равен 1.

 

Практический вывод:

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

 

4. Применение метода Гаусса для вычисления обратной матрицы

 

Схема единственного деления может использоваться также и для вычисления элементов  матрицы , обратной для невырожденной матрицы A. По определению, ,где E – единичная матрица.

Представим искомую матрицу и единичную матрицу Е в виде совокупности векторов-столбцов. В такой записи соотношение  предстанет в виде совокупности из n  систем линейных уравнений вида .

Решение каждой системы дает соответствующий столбец обратной матрицы.

Расширив таблицу схемы единственного деления, можно проиллюстрировать получение обратной матрицы рассмотренным методом.

 

5.  Пример нахождения обратной матрицы методом Гаусса

 

Пример: Дана матрица

Найти обратную матрицу, пользуясь схемой единственного деления.

Решение:

Запишем данную и единичную матрицы в одну, и применим, к ним одновременно, элементарные преобразования схемы единственного деления:

Так как, , разделим элементы первой строки на 2,34. Затем из элементов второй строки вычтем элементы первой, умноженные на 8,04, а из элементов третьей - вычтем элементы первой, умноженные на 3,92.

.

Теперь элементы второй строки разделим на 19,685. И умножая их на (-0,938), вычтем из элементов третьей строки.

.

Элементы третьей строки, разделим на 29,732.

.

Из элементов второй строки вычтем элементы третьей, умноженные на 2,0401.

.

Из элементов первой строки вычтем элементы третьей, умноженные на (-4,9615).

.

Из элементов первой строки вычтем элементы второй, умноженные на (-1,7991).

.

Матрица, полученная справа и является искомой обратной матрицей:

.

Сделаем прямую проверку:

Поскольку  вычисления матрицы велись с округлением,  то наличие невязок, отражённых в матрице , является естественным.

 

Задания практического занятия №3

 

Задание 1

 

Дана  система трех линейных уравнений с тремя неизвестными:

Решить систему методом Гаусса:

а)  используя «ручную» схему единственного деления:

ü       расчеты выполняйте с тремя знаками после запятой (с применением калькулятора);

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

ü       выбрав ведущие элементы схемы единственного деления, найдите значения определителя системы;

ü       для матрицы системы, по схеме единственного деления, найдите обратную матрицу.

 

б) с помощью программы для ЭВМ с пооперационным учетом ошибок.

 

Задание 2

 

Решите систему, используя одно из инструментальных средств (MS Excel). Сопоставьте найденное решение с решениями, полученными при выполнении задания 1.

 

Контрольные вопросы

 

1.                              Какие методы решения с.л.а.у. вы знаете?

2.                              В чем заключается прямой и обратный ход в схеме единственного деления?

3.                              На чем основываются подходы к организации контроля вычислений в прямом ходе, обратном ходе?

4.                              На чем основываются алгоритмы вычисления определителя по методу Гаусса?

5.                              Каким образом схема единственного деления может использоваться для вычисления обратной матрицы?

 

 


Номер варианта

i

ai1

ai2

ai3

bi

1

1

2

3

0,21

0,30

0,60

-0,45

0,25

-0,35

-0,20

0,43

-0,25

1,91

0,32

1,83

2

1

2

3

-3

0,5

0,5

0,5

-6,0

0,5

0,5

0,5

-3

-56,5

-100

-210

3

1

2

3

0,45

-0,01

-0,35

-0,94

0,34

0,05

-0,15

0,06

0,63

-0,15

0,31

0,37

4

1

2

3

0,63

0,15

0,03

0,05

0,10

0,34

0,15

0,71

0,10

0,34

0,42

0,32

5

1

2

3

-0,20

-0,30

1,20

1,60

0,10

-0,20

-0,10

-1,50

0,30

0,30

0,40

-0,60

6

1

2

3

0,30

-0,10

0,05

1,20

-0,20

0,34

-0,20

1,60

0,10

-0,60

0,30

0,32

7

1

2

3

0,20

0,58

0,05

0,44

-0,29

0,34

0,81

0,05

0,10

0,74

0,02

0,32

8

1

2

3

6,36

7,42

5,77

11,75

19,03

7,48

10

11,75

6,36

-41,40

-49,49

-27,67

9

1

2

3

-9,11

7,61

-4,64

1,02

6,25

1,13

-0,73

-2,32

-8,88

-1,25

2,33

-3,75

10

1

2

3

-9,11

7,61

-4,64

-1,06

6,35

1,23

-0,67

-2,42

-8,88

-1,56

2,33

-3,57

11

1

2

3

1,02

6,25

1,13

-0,73

-2,32

-8,88

-9,11

7,62

4,64

-1,25

2,33

-3,75

12

1

2

3

0,06

0,99

1,01

0,92

0,01

0,02

0,03

0,07

0,99

-0,82

0,66

-0,98

13

1

2

3

0,10

0,04

0,91

-0,07

-0,99

1,04

-0,96

-0,85

0,19

-2,04

-3,73

-1,67

14

1

2

3

0,62

0,03

0,97

0,81

-1,11

0,02

0,77

-1,08

-1,08

-8,18

0,08

0,06

15

1

2

3

0,63

0,90

0,13

-0,37

0,99

-0,95

1,76

0,05

0,69

-9,29

0,12

0,69

 

 

Решение системы уравнений методом Гаусса - MS Office Excel

 

Для того чтобы решить данную систему уравнений в Excel, нужно выполнить следующие действия:

1.     Заполнить ячейки следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

 

2.     В ячейку E1 ввести текст Контрольные суммы, а в F1 – Строчные суммы.

3.     В ячейку E2 ввести формулу =СУММ(A2:D2) (для подсчета контрольных сумм) и методом протягивания заполнить ячейки E3, E4.

4.     После этого необходимо выполнить "Прямой ход" - преобразование исходной системы к системе с треугольной матрицей, на главной диагонали которой стоят единицы. Для этого нужно выполнить следующие действия:

·        Чтобы коэффициент при x1 равнялся 1, нужно в ячейку A5 ввести формулу =A2/$A$2, затем методом протягивания скопировать ее в ячейки B5:D5.

·        Над столбцом контрольных сумм необходимо выполнить те же действия, что и над коэффициентами при неизвестных, следовательно в ячейку E5 нужно ввести формулу =E2/$A$2.

·        В ячейку F6 ввести формулу =СУММ(A5:D5) (для подсчета строчных сумм).

·        В ячейку A6 ввести формулу =A3-$A$3*A5 (для обнуления коэффициента при x1 во втором уравнении системы), заполнить этой формулой методом протягивания диапазон ячеек B6:E6.

·        В ячейку A7 ввести формулу =A4-A5*$A$4 (для обнуления коэффициента при x1 в третьем уравнении системы), заполнить этой формулой методом протягивания диапазон ячеек B7:E7.

·        В ячейку B8 ввести формулу =B6/$B$6, заполнить этой формулой методом протягивания диапазон ячеек C8:E8.

·        В ячейку B9 ввести формулу =B7-B8*$B$7, заполнить этой формулой методом протягивания диапазон ячеек C9:E9.

·        В ячейку C10 ввести формулу =C9/$C$9, скопировать эту формулу в диапазон ячеек D10:E10.

·        Формулой из ячейки F5 методом протягивания заполнить ячейки F6:F10 (следует обратить внимание на то, что значения в столбцах строчных и контрольных сумм попарно равны).

5.     После этого необходимо выполнить "Обратный ход" - последовательное нахождение значений x3, x2, x1.  Для этого нужно выполнить следующие действия:

·        В ячейки C11, B12, A13 ввести единицы.

·        В ячейку D11 ввести формулу =D10 и скопировать ее в ячейку E11.

·        В ячейку F11 ввести формулу =A11+B11+C11+D11.

·        В ячейку D12 ввести формулу =D8-C8*D11.

·        В ячейку E12 ввести формулу =E8-C8*E11.

·        В ячейку D13 ввести формулу =D5-C5*D11-B5*D12.

·        В ячейку E13 ввести формулу =E5-C5*E11-B5*E12.

·        Формулу из ячейки F11 скопировать диапазон ячеек F12:F13.

6.     Таким образом, получены x3, x2, x1. Для проверки правильности решения задачи необходимо выполнить следующие действия:

·        Диапазон ячеек A15:A18 последовательно заполнить следующими словами: проверка, 1 уравнение, 2 уравнение, 3 уравнение.

·        В ячейку C16 ввести формулу =A2*$D$13+B2*$D$12+C2*$D$11, затем скопировать ее в диапазон ячеек C17:C18.

7.     Нужно обратить внимание, что полученный результат в ячейках C17:C18 полностью совпадает с ячейками D2:D4, следовательно, задача решена верно.

Таким образом, получаем следующее:

Ответ: x1=3.333, x2 =3.561, x3 =3.782.

 

 

Практическое занятие №5

«Решение систем линейных алгебраических уравнений приближенными методами: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить усвоение теоретического материала по данной теме через решение упражнений;

-         закрепить умения решать системы линейных уравнений приближенными методами(метод простой итерации, метод Зейделя).

 

 

Теоретический материал и методические указания к выполнению заданий

 

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

 

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

Приведём систему линейных алгебраических уравнений (2.7)

 

к равносильной ей системе вида x=Ax:

         (2.10)

В сокращенной форме: .

О системе (2.10) говорят, что она «приведена к нормальному виду».

Правая часть системы определяет отображение       (2.11),

переводящее точку   в точку . Используя отображения (2.11) и выбрав начальную точку можно построить итерационную последовательность точек.

Если отображение F является сжимающим, то эта последовательность сходится  и её предел является решением системы (2.10) а, следовательно, и решением исходной системы (2.7).

Замечание: Отображение является сжимающим, если расстояние между образами меньше, чем расстояние между исходными точками.

Для отображения (2.11) необходимым и достаточным условием сжимаемости является следующее: ,       (2.12), т.е. максимальная из сумм модулей коэффициентов при неизвестных в правой части системы (2.10), взятых по столбцам, должен быть меньше 1.

 

Практическая схема решения с.л.у. методом простой итерации

 

С.л.у. (2.7) необходимо привести к нормальному виду (2.10).

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

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

Для проверки точности решения используем условие (2.12).

 

2. Пример решения систем линейных уравнений методом простой итерации

 

Пример: Решить систему линейных уравнений

методом простой итерации с точностью .

Решение:

Построим систему с преобладающими диагональными коэффициентами.

В качестве 1-ого уравнения  возьмем 2-ое, в качестве 3-его уравнения – 1-ое, в качестве 2-ого уравнения – сумму 1-го и 2-го уравнений:

Разделим каждое из полученных уравнений на диагональный коэффициент и, выразим из каждого уравнения диагональные элементы:

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

 

3.  Метод Зейделя

 

Будем снова рассматривать систему линейных уравнений (2.7) и эквивалентную ей систему (2.10).

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

Обозначим элементы имеющегося приближения через , а элементы очередного (вычисляемого) приближения через  .

 

Вычислительные формулы имеют вид:

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

 

Справедливо следующее утверждение:

 

Если для матрицы коэффициентов системы (2.10) выполняется условие (2.12), то итерационный процесс метода Зейделя сходится к решению системы при любом выборе начального приближения .

Преимущество этого метода состоит в том, что он обеспечивает более быструю схожесть, чем метод простой итерации.

 

 

 

Пример:

Матрица системы

Правая часть

1

0,401

0,301

0,000

0,000

0,122

-0,029

-0,500

-0,018

0,000

-0,253

0,000

-0,050

-1,400

-0,039

-0,988

0,000

0,000

-0,007

-2,300

-2,082

 

Решение:

Метод прогонки

 

1.     Решим систему линейных уравнений методом прогонки.

 

Он является модификацией метода Гаусса для частного случая системы уравнений с трехдиагональной матрицей, которые имеют следующий вид:

image031.gif (1935 bytes)

 

Заданная система имеет трехдиагональную матрицу четвертого порядка и ее можно решать методом прогонки.

Из вида систему следует, что . Следовательно система имеет единственное решение и для ее решения можно применить метод прогонки.

 

Прямой ход прогонки.

Вычислим прогоночные коэффициенты:

1)     Вычислим знаменатель

 

2)    

 

3)     ,

,

 

4)     ,

,

 

Обратный ход прогонки.

Находим значения неизвестных:

Ответ:

 

Итерационный метод

Метод Гаусса-Зейделя

 

 

1.      Решим систему методом Гаусса-Зейделя

Запишем исходную систему в виде:

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

x2(0) = x3(0)= x4(0)=  0.

 

Найдем значения неизвестных на первой итерации:

 

 

Далее произведем вторую итерацию:

Проверим точность:

Точность не достигнута.

 

Произведем третью  итерацию:

Проверим точность:

Точность не достигнута.

 

Произведем четвертую  итерацию:

Проверим точность:

 

Точность  достигнута.

Решение системы с точностью 0,001:

 

Сравнение результатов

Метод

Х1

Х2

Х3

Х4

Гаусса-Зейделя

-0,060

0,486

0,663

0,903

Прогонки

-0,060

0,486

0,663

0,907

 

 

Задания практического занятия №5

 

1.     Решить систему линейных уравнений, коэффициенты которой приведены в таблице заданий методами прогонки, итерационным методом. Предварительно привести систему к треугольному виду.

2.     Решить систему на ЭВМ с помощью этих методов систему уравнений  сравнить результаты.

 

Вариант

Матрица системы

Правая часть

1

-1,700

0,003

0,000

0,000

0,681

0,002

0,800

0,001

0,000

0,480

0,000

-0,002

-0,100

0,030

-0,802

0,000

0,000

-0,003

-1,600

-1,007

 

Матрица системы

Правая часть

2

-3,000

0,001

0,000

0,000

1,514

-0,011

2,100

0,520

0,000

1,478

0,000

0,005

1,200

0,600

1,083

0,000

0,000

-0,010

-0,300

-1,007

 

Матрица системы

Правая часть

3

4,300

0,217

0,000

0,000

2,663

0,100

-3,400

-0,207

0,000

2,778

0,000

0,090

2,500

0,197

2,533

0,000

0,000

0,080

-1,600

1,928

 

Матрица системы

Правая часть

4

-5,600

0,268

0,000

0,000

4,032

0,147

4,700

0,271

0,000

4,313

0,000

-0,150

-3,800

0,274

4,235

0,000

0,000

0,153

2,900

3,797

 

Матрица системы

Правая часть

5

-8,200

0,370

0,000

0,000

7,559

0,234

7,300

5,600

0,000

8,175

0,000

0,260

-0,340

0,422

8,421

0,000

0,000

0,268

5,500

8,322

 

Матрица системы

Правая часть

6

9,500

0,422

0,000

0,000

9,719

0,278

8,601

0,459

0,000

10,500

0,000

0,315

7,700

0,496

10,915

0,000

0,000

0,351

6,803

10,978

 

Матрица системы

Правая часть

7

10,800

-0,576

0,000

0,000

12,143

0,321

9,900

7,300

0,000

13,089

0,000

0,369

9,000

-6,060

13,674

0,000

0,000

0,416

8,100

13,897

 

Матрица системы

Правая часть

8

-1,100

0,528

0,000

0,000

14,830

0,365

0,113

0,536

0,000

15,941

0,000

-0,423

1,031

0,534

16,969

0,000

0,000

0,481

-0,570

17,081

 

Матрица системы

Правая часть

9

13,400

0,581

0,000

0,000

17,782

-0,408

12,500

-0,650

0,000

19,593

0,000

0,477

-11,600

0,781

19,974

0,000

0,000

0,546

10,700

20,528

 

 

 

 

Матрица системы

Правая часть

10

30,300

0,153

0,000

0,000

80,168

0,975

-29,400

0,011

0,000

83,578

0,000

0,117

-2,500

1,660

86,609

0,000

0,000

10,700

27,600

89,278

 

Матрица системы

Правая часть

11

0,161

0,332

0,000

0,000

86,814

0,109

-0,301

-0,150

0,000

90,358

0,000

-0,060

0,171

0,051

19,861

0,000

0,000

0,145

-0,298

93,502

 

Матрица системы

Правая часть

12

13,400

0,581

0,000

0,000

17,782

-0,408

12,500

-0,650

0,000

19,593

0,000

0,477

-11,600

0,781

19,974

0,000

0,000

0,546

10,700

20,528

 

Контрольные вопросы

 

1.      Каким образом система линейных уравнений преобразуется к итерационному виду?

2.      Как сформулировать условие сходимости итерационного процесса

3.      Как привести исходную систему линейных уравнений к системе с преобладающими диагональными элементами?

4.      Постройте блок-схему решения системы линейных уравнений методом простой итерации.

5.      В чем состоит отличие метода Зейделя от аналогичного процесса простой итерации?

6.      Постройте блок-схему решения системы линейных уравнений методом Зейделя.

 

 

Практическое занятие №6

 «Составление интерполяционных формул Лагранжа и Ньютона: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить усвоение теоретического материала по данной теме через решение упражнений;

-         закрепить умения составлять интерполяционные формулы Лагранжа.

 

 

Теоретический материал и методические указания к выполнению заданий

 

1. Постановка задачи аппроксимации функций

 

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

 

Поводом для аппроксимации функции может послужить, в частности, табличный способ её задания. Предположим, что результате некоторого эксперимента для конечного набора значений  величины x из отрезка [a;b]:

получен набор значений  величины у (таблица 3.1).

таблица 3.1

x

x

x

x

F(x)

y

y

y

 

Допустим, существует функциональная зависимость y=F(x).

Необходимо задать F(x) аналитически.

Точки называют узлами аппроксимации.

Классический подход к численному решению подобных задач заключается в том, чтобы, опираясь на информацию о функции F, по некоторому алгоритму подобрать аппроксимирующую функцию G, в определенном смысле «близкую» к F.

Чаще всего задача аппроксимации решается с помощью многочленов. Вычисления значений многочлена легко автоматизировать, производная и интеграл от многочлена, в свою очередь, также являются многочленами.

Для оценки «близости» функций выбирают тот или иной критерий согласия.

Для функций, заданных таблично, достаточно распространенным является критерий Чебышева, который определяет расстояние между аппроксимируемой и аппроксимирующей функциями как максимум величины отклонения между этими функциями в узлах:      (3.1)

Если =0, т.е. (в узлах значения совпадают), то соответствующий способ аппроксимации называют интерполяцией, а процедуру вычисления значений F(x) с помощью G(x) в точках, не являющихся узлами сетки, - интерполированием.

 

Часто процедура аппроксимации связана с другим критерием согласия:

.

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

 

2. Существование и единственность интерполяционного многочлена

 

Пусть известны значения некоторой функции F(x):

 

x

x

x

x

F(x)

y

y

y

 

Будем решать задачу интерполирования этой функции с помощью построения интерполяционного многочлена n-ой степени.

                  (3.2)

 который в узлах  принимает значения

                               (3.3)

Условия интерполяции (3.3) приводят к системе из (n+1) линейных уравнений  с (n+1) неизвестными – коэффициентами многочлена:

                 (3.4)

Решая эту с.л.у. относительно  получим аналитическое выражение многочлена (3.2).

Система (3.4) всегда будет иметь единственное решение, поскольку ее определитель не будет равен нулю. Отсюда и вытекает существование и единственность решения системы (3.4) и, следовательно, многочлена (3.2).

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

 

3. Интерполяционный многочлен Лагранжа

 

Пусть функция F(x) задана таблицей (3.1).

Построим многочлен Ln(x), степень которого не выше, чем n, и для которого выполнены условия интерполяции

       (3.5)

Будем искать Ln(x) в виде

                 (3.6),

где - многочлен степени n, причем

                  (3.7).

Очевидно, что требования (3.7) с учётом (3.6) вполне обеспечивает выполнение условий (3.5). Многочлен составим следующим образом:

       (3.8)

- коэффициент, значение которого найдем из первой части условия (3.7):

Подставим  в (3.8) и далее с учётом (3.6) получим:

      (3.9)

Это и есть интерполяционный многочлен Лагранжа.

По таблице исходной функции F формула (3.9) позволяет довольно просто составить «внешний вид» многочлена.

 

 

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

х

1

3

4

F(x)

12

4

6

Решение:

Из таблицы следует, что n=2 (на 1 меньше, чем узлов).

По формуле (3.9) получаем:

Таким образом, интерполяционный многочлен для заданной функции имеет вид 

Построим график и точки в одной координатной плоскости.

 

Задания практического занятия №6

 

Задание 1.   По заданной таблице значений функции

х

х0

х1

х2

х3

у

у0

у1

у2

у3

 

составить формулу интерполяционного многочлена Лагранжа. Построить его график и отметить на нем узловые точки.

 

Задание 2. Вычислить с помощью калькулятора одно значение заданной функции для промежуточного значения аргумента с помощью интерполяционного многочлена Лагранжа и оценить погрешность интерполяции.

Задание 3. Составить программу вычисления значения функции в точке, используя интерполяционный многочлен Лагранжа.

Задание 4. Сравнить результаты заданий 2 и 3.

 

Таблица 1   

 

Вариант

х0

х1

х2

х3

у0

у1

у2

у3

х

1

-1

0

3

4

-3

5

2

-6

3,8

2

2

3

5

6

4

1

7

2

3,5

3

0

2

3

5

-1

-4

2

-8

0,5

4

7

9

13

15

2

-2

3

-4

4,8

5

-3

-1

3

5

7

-1

4

-6

4,1

6

1

2

4

7

-3

-7

2

8

3,9

7

-1

-1

2

4

4

9

1

6

3,3

8

2

4

5

7

9

-3

6

-2

4,0

9

-4

-2

0

3

2

8

5

10

2,9

10

-1

1,5

3

5

4

-7

1

-8

5,3

11

2

4

7

8

-1

-6

3

12

4,1

12

-9

-7

-4

-1

3

-3

4

-9

7,6

13

0

1

4

6

7

-1

8

2

4,4

14

-8

-5

0

2

9

-2

4

6

2,5

15

-7

-5

-4

-1

4

-4

5

10

5,2

 

 

Контрольные вопросы

 

1.      В каких случаях может потребоваться аппроксимация функции?

2.      Какими критериями пользуются для определения «близости» функции?

3.      На чем основывается доказательство существования и единственности  интерполяционного многочлена для таблично заданной функции?

4.      В какой форме строится интерполяционный многочлен Лагранжа?

 

 

Практическое занятие №7

 «Интерполирование сплайнами: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

Цель занятия:

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

-         Овладение вычислительными методами и практическими методами оценки погрешности вычислений.

-         Приобретение умений и навыков при программировании и отладке вычислительных задач на компьютере

 

 

Теоретический материал и методические указания к выполнению заданий

 

1.      Интерполяция сплайнами

 

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

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

Однако такое интерполирование наталкивается на существенный недостаток: в точках стыка  разных интерполяционных многочленов бывает разрывной их первая производная.

В этом случае удобно пользоваться особым видом кусочно-полиномиальной интерполяции - интерполяции сплайнами.

Суть этого подхода заключается в следующем:

Определение: Функция Sm (x) называется интерполяционным сплайном порядка m для функции f(x), заданной таблицей: 

x

x

x

x

y

y

y

y

если:

1.       на каждом отрезке [xi ; xi+1]  (i=0,…,n-1) S(x) является многочленом порядка m;

2.       S(x) и её производная до (m-1)-го порядка включительно непрерывны на [x0 ; xn];

3.       S(xi)=yi   (i=0,…,n) - непосредственно условие интерполяции.

 

Остановимся на построении наиболее популярных в практике аппроксимации функций кубических  сплайнов.

По определению кубический сплайн S(x) можно представить в виде

                      (3.17)

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

 .         (3.18)

Коэффициенты  найдем из условия: , т.е. 

                (3.19)

Условие непрерывности S(x) в каждом узле приводит к равенствам:

В развернутом виде с учетом формулы (3.18) эти равенства примут вид:

              (3.20)

Введем обозначения:  

Понижая в равенстве (3.20) индекс на единицу (меняем i на i-1) и, учитывая (3.19), получим:

        (3.21)

Условие непрерывности первой производной кубического сплайна сводится к требованию

Тогда дифференцируя формулу (3.18) и используя, введите обозначения, получим:

    )            (3.22)

Из условия непрерывности второй производной: получим:  

 )          (3.23)

Составим систему из равенств (3.21)-(3.23) и, решив её, найдем коэффициенты .

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

               (3.24)

В результате получаем систему уравнений:

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

         (3.25)

(это уравнение содержит лишь неизвестные ).

          (3.26)   

 (это уравнение содержит лишь неизвестные ).

        (3.27)   

(это уравнение содержит лишь неизвестные ).

Построив кубический сплайн, найдем оценку погрешности интерполяции:

,

где  - промежуток интерполяции.

 

2.      Пример построения кубического сплайна для функции y=f(x), заданной таблично

 

Пример:   Построить кубический сплайн для функции y=f(x), заданной таблицей:

-1

0

1

2

1/2

1

2

4

с дополнительным условием: . Найти с помощью S(x) значения функции при x=0,3.   (Заметим, что в основу таблицы положена функция у =2x).

Решение:    (т.к. не используется в функциях) и  (т.к. из условия (3.24):).

Шаг таблицы .

из (3.25) получаем:

Из (3.26) имеем:

 ,

,

.

Из (3.27) имеем:

,

,

.

из формулы (3.28) получаем:

,

              .

,

,    

Следовательно, сплайн S(x) построен:

Найдем его значение при x=0,3:

Заметим, что 0,3[0;1], поэтому используем многочлен  :

 .

Отметим для сопоставления с той же точностью значение функции, положенной в основу данного примера:.

 

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

 

Задания практического занятия №7

 

Задание 1.   По заданной таблице значений функции

х

х0

х1

х2

х3

у

у0

у1

у2

у3

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

Задание 2. Результат интерполирования проверить путем вычисления значений сплайна в узловых точках.

Задание 3.   Составить программу вычисления значения функции в точке, используя интерполяцию сплайнами.

Задание 4. Сравнить результаты заданий 1 и 5.

Таблица 1   

Вариант

х0

х1

х2

х3

у0

у1

у2

у3

х

1

-1

0

1

2

-3

5

2

-6

3,8

2

2

3

4

5

4

1

7

2

3,5

3

0

2

4

6

-1

-4

2

-8

0,5

4

7

9

11

13

2

-2

3

-4

4,8

5

-3

-1

1

3

7

-1

4

-6

4,1

6

1

2

3

4

-3

-7

2

8

3,9

7

-1

1

3

5

4

9

1

6

3,3

8

2

4

6

7

9

-3

6

-2

4,0

9

-4

-2

0

2

2

8

5

10

2,9

10

-1

0

1

2

4

-7

1

-8

5,3

11

2

4

6

8

-1

-6

3

12

4,1

12

-9

-7

-5

-3

3

-3

4

-9

7,6

13

0

1

2

3

7

-1

8

2

4,4

14

-8

-7

-6

-5

9

-2

4

6

2,5

15

-7

-5

-3

-1

4

-4

5

10

5,2

 

Контрольные вопросы:

 

1.      Как ставится задача интерполяции?

2.      Какие виды интерполяции вы знаете?

1.      В чем суть и геометрический смысл линейной интерполяции?

2.      Как выглядит оценка точности при интерполировании многочленом?

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

4.      Что такое сплайн-интерполяция и в чем ее суть?

5.      Какие трудности возникают при интерполировании сплайнами?

 

 

Практическое занятие №8

«Вычисление интегралов при помощи формул Ньютона-Котеса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить усвоение теоретического материала по данной теме через решение упражнений;

-         закрепить умения приближенно вычислять интегралы при помощи формул Ньютона-Котеса (формула прямоугольников, формула трапеций, формула парабол (Симпсона));

 

 

Теоретический материал и методические указания к выполнению заданий

 

1.      Подстановка задачи численного интеграла

При вычислении определенного интеграла

 ,

где f(x) - функция непрерывная на отрезке [a,b] используется формула Ньютона - Лейбница:

         (4.1)

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

На практике часто применяют различные методы приближенного (численного) интегрирования.

Определение: Формулы, используемые для приближенного вычисления интегралов, называют квадратурными формулами.

 

Простой прием построения квадратурных формул состоит в том, что подынтегральная функция f(x) заменяется на отрезке [a;b] интерполяционным многочленом Лагранжа Ln(x), и тогда:

 .           (4.2)

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

 

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

Для вычисления определенного интеграла  отрезок [a;b] разбивают на n криволинейную трапецию, заменяют прямоугольником с основанием , и высотой  соответственно.

Данный подход к решению задачи дает площадь криволинейной трапеции, т.е. значение определенного интеграла  с недостатком

.           (4.5)

Формула (4.5) называется формулой прямоугольников с недостатком.

Аналогично можно получить формулу для вычисления определенного интеграла с избытком.

       (4.6)

Формула (4.6) называется формулой прямоугольников с избытком.

где значение

  .                  (4.7)

Пример:  Вычислить по формуле прямоугольников интеграл

   (n=5).

Решение:

Имеем a=0,  , .

Тогда

Вычислим значение функции по формуле (4.7):

Применяя формулу прямоугольника с недостатком (4.2) получим

Вычислим данный интеграл по формуле Ньютона - Лейбница и сравним результаты:

Относительная погрешность вычисления:

.

 

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

 

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

 

      (4.8)

Для повышения точности результата разобьём фигуру на n частей, а затем суммируем площади получившихся трапеций:

       (4.9)

где .

Формула (4.9) называется формулой трапеций.

 

Пример: По формуле трапеции вычислить интеграл

    (n=5).

 

Решение:   Имеем a=0,  b=5,   , .

Вычислим промежуточные значения функции в узлах:

Тогда по формуле трапеций (4.9) имеем:

.

 

 

4.      Метод парабол

 

Замена подынтегральной функции f(x) параболой,  проходящей через точки Mi(xi ; yi), (i=0,1,2) позволяет получать более точное значение определенного интеграла.

Если считать, что n - четное (n=2m), то получим:

        (4.10)

где .

Формула (4.10) называется формулой парабол или формулой Симпсона.

Для оценки погрешности формулы Симпсона применяется формула

,         (4.11)

Как следует из оценки, формула Симпсона, оказывается точной для многочленов до 3-ей степени включительно. Так как для этих случаев производная 4-го порядка равна 0.

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

,              (4.12)

 

Пример: Вычислить интеграл по формуле парабол

,    (n=10).

Решение: Значения подынтегральной функции в узловых точках запишем в таблицу:

 

xi

0

0

0,1

0,0019966

0,2

0,0079467

0,3

0,0531936

0,4

0,0623068

0,5

0,2397124

0,6

0,2032711

0,7

0,6313333

0,8

0,4591078

0,9

1,2689896

1

0,841478

 

Подставим найденные значения в формулу Симпсона, учитывая, что h=0,1:

В данном случае легко вычислить «точное» значение этого интеграла, пользуясь формулой Ньютона - Лейбница

.

Как видим, результат, полученный с помощью приближенной формулы парабол, дает высокую точность.

 

 

Задания практического занятия №8

 

Задание 1.

Вычислить интеграл от заданной функции f(x) на отрезке [a;b] при делении отрезка на 10 равных частей тремя способами:

1)     по формуле прямоугольников;

2)     по формуле трапеций;

3)     по формуле Симпсона;

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

 

Задание 2.

С помощью программ на компьютере вычислить значение интеграла заданной функции на отрезке [a;b]:

1)     по формуле прямоугольников;

2)     по формуле трапеций;

3)     по формуле Симпсона.

 

Задание 3.

Вычислить интеграл вручную по формуле Ньютона-Лейбница

Сравнить полученные результаты с результатами, полученными при выполнении задания 1 и 2.

 

Таблица 1

Вариант

f(x)

a

b

1

1

2

2

1

2

3

2

3

4

1

2

5

1.2

2.2

6

0.5

1.5

7

2

3

8

3

4

9

1

2

10

-1

0

11

-0.5

0.5

12

0,1

1,1

13

0.2

1.2

14

1.5

2.5

15

0.1

1.1

 

Контрольные вопросы

1. Почему формула Ньютона-Котеса может оказаться непригодной для реального вычисления определенного интеграла?

2. Как связаны задачи численного интегрирования и интерполирования?

3. Чем объясняется название формулы прямоугольников?

4. Чем объясняется название формулы трапеций?

5. В чем выражается преимущества формулы Симпсона перед формулой трапеций?

6. Каким образом при использовании формулы парабол можно рассчитать требуемое число отрезков разбиения для достижения заданной точности интегрирования ?

 

 

Практическое занятие №9

«Вычисление интегралов при помощи формул Гаусса: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-         закрепить усвоение теоретического материала по данной теме через решение упражнений;

-         получить умения приближенно вычислять интегралы при помощи формул Ньютона-Котеса (формулаГаусса);

 

 

Теоретический материал и методические указания к выполнению заданий

 

Квадратные формулы Гаусса

 

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

При получении квадратных формул Гаусса в исходном интеграле выполняется замена переменной, переводящая интеграл по отрезку [a;b] в интеграл по отрезку [-1;1].

или      (4.13)

Тогда

    (4.14)

Последний интеграл обозначим и можно далее, развивать метод Гаусса применительно к нему.

Для разъяснения существа метода Гаусса будем использовать простейшую (линейную) интерполяцию подынтегральной функции:

Если в качестве узлов интерполяции взять концы отрезка [-1;1], то различие в площадях криволинейной трапеции, ограниченной сверху кривой и «обычной» трапеции, ограниченной сверху прямой, проведённой через концы указанной кривой, фиксировано видом функции .

Однако, если сделать узлы интерполяции «подвижными», то можно выбрать их таким образом, чтобы разность между площадями криволинейной и «обычной» трапеции была значительно меньше.

Более того, можно сделать эти площади равными , т.е. аппроксимировать интеграл точно, но для этого необходимо определить точки .

Сформулируем задачу следующим образом:

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

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

    (4.15)

Легко установить, что уравнение прямой, проходящей через точки  имеет вид: ,   (4.16)

где .

Будем выбирать так, чтобы равенство

      (4.17)

имело место при любых .

Вычисляя значения , получим:

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

Вычислив интеграл по указанной формуле с учётом (4.18), получим

     (4.19)

Формула (4.19) и называется квадратурной формулой Гаусса.

С учетом формулы (4.14) формула Гаусса примет вид:

         (4.20)

Оценка погрешности вычисления интеграла по формуле (4.19) проводится по формуле:

                 (4.21)

Для повышения точности результата отрезок [a;b] разделим на n частей и применим формулу (4.20) на каждом из них.

Получим формулу для вычисления интеграла:

              (4.22)

Формула для оценки погрешности примет вид:

                             (4.23)

Пример: Вычислить интеграл  по формуле Гаусса при n = 10.

Решение: Имеем a = 0, b = 1, .

Тогда .

Составим таблицу значений, входящих в формулу (4.22)

 

0

0,02113249

0,078868

0,00000944

0,00049005

0,1

0,121132249

0,178868

0,00177304

0,00569215

0,2

0,22113249

0,278868

0,01072537

0,02140672

0,3

0,32113249

0,378868

0,03255086

0,05309115

0,4

0,42113249

0,478868

0,07250071

0,10566206

0,5

0,52113249

0,578868

0,13520907

0,18331848

0,6

0,62113249

0,678868

0,22452206

0,28938023

0,7

0,72113249

0,778868

0,34334373

0,42614496

0,8

0,82113249

0,878868

0,49350196

0,59476723

0,9

0,92113249

0,978868

0,67563779

0,795162236

1,0

 

 

 

 

 

 

 

Подставляя найденное значение суммы значений функции yi , в формулу (4.22) получим:

.

 

 

Задания практического занятия №9

 

Задание 1.

Вычислить интеграл  по формуле Гаусса от заданной функции f(x) на отрезке [a;b] при делении отрезка на 10 равных частей. Вычисления провести в Excel.

 

Задание 2.

Сравнить полученный результат с результатами, полученными на практическом занятии №8.

Результаты оформить в таблицу:

Метод интегрирования

Значение интеграла

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

 

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

 

Метод парабол

 

Метод Гаусса

 

Задание 3.

Сделать вывод о точности методов.

 

Таблица 1

Вариант

f(x)

a

b

1

1

2

2

1

2

3

2

3

4

1

2

5

1.2

2.2

6

0.5

1.5

7

2

3

8

3

4

9

1

2

10

-1

0

11

-0.5

0.5

12

0,1

1,1

13

0.2

1.2

14

1.5

2.5

15

0.1

1.1

 

Контрольные вопросы

 

1.      На какой идее основывается построение квадратурных формул Гаусса?

2.      Запишите формулу Гаусса.

3.      Как строятся квадратурные формулы Гаусса, какова их по- грешность (остаточный член)?

 

 

Практическое занятие №10

«Нахождение решений обыкновенных дифференциальных уравнений с использованием методов Эйлера: разработка алгоритма и программы для решения вычислительных задач, учитывая необходимую точность получаемого результата»

 

Цель занятия:

-                                 закрепить усвоение теоретического материала по данной теме через решение упражнений;

-         получить умения приближенно находить решение обыкновенного дифференциального уравнения первого порядка методом Эйлера, методом Рунге-Кутта.

 

 

Теоретический материал и методические указания к выполнению заданий

 

Численные методы решения дифференциальных уравнений.

 

Постановка задач

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

y’=f(x,y(5.1)

Эта задача известна, как задача Коши: найти решение уравнения (5.1) в виде функции y(x), удовлетворяющей начальному условию

y(x0) = y0.  (5.2)

Геометрически это означает, что требуется найти интегральную кривую y=y(x), проходящую через заданную точку М0 (x0,y0), при выполнении равенства (5.1).

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

Эти методы подразделяются на 3 основные группы:

1)     аналитические методы, применения которых дает приближенное решение дифференциальных уравнений в виде формулы;

2)     графические методы, дающие приближенное решение в виде графика;

3)     численные методы, когда искомая функция получается в виде таблицы.  

 

Метод Эйлера

 

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

Пусть дано уравнение (5.1)  с начальным условием (5.2), т.е. поставлена раздача Коши.

Вначале найдем простейшим способом приближенное значение решения в некоторой точке , где h – достаточно малый шаг.

Заметим, что уравнение (5.1) совместно с начальным условием (5.2) задают направление касательной к искомой интегральной кривой в точке М(x,y). Двигаясь вдоль этой касательной, получим приближенное значение решения в точке х:

        (5.3)

Аналогично, найдем приближенное значение решения в точке , и т.д.

Продолжая эту идею, построим систему равностоящих точек , i=0,..,n.

Получение таблицы значений искомой функции y(x) по методу Эйлера заключается в циклическом применении пары формул:

     (5.4)

Геометрическая иллюстрация метода Эйлера:

Рис 5.1 Построение ломаной Эйлера

 

Вместо кривой в реальности получается совокупность прямых – ломаная Эйлера.

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

Метод Эйлера – простейший пошаговый метод.

Отметим, что оценка погрешности метода при таком элементарном рассмотрении невозможна даже на первом шаге. Кроме того, особенностью любого пошагового метода является то, что, начиная со второго шага, исходное значение y в формуле (5.4) само является приближенным, т.е. погрешность на каждом шаге систематически возрастает.

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

 

Пример: Решить методом Эйлера дифференциальное уравнение c начальным условием y(0) = 1,3 на отрезке [0;1] применив h=0,2.

Решение: Имеем .

Составим таблицу значений функции f(x,y)  с шагом h и h/2.

 

x

yi (h=0.2)

yi (h=0.1)

0

1.3

1.3

0.1

 

1.33

0.2

1.35

1.38

0.3

 

1.46

0.4

1.52

1.56

0.5

 

1.68

0.6

1.77

1.82

0.7

 

1.98

0.8

2.09

2.15

0.9

 

2.33

1

2.47

2.53

 

При составлении таблицы проводились следующие вычисления:

Если h=0,2:

1)     х0=0, у0=1,3 из начального условия;

2)      х1=0,1,

3)     х2=0,2,

И т.д.

Аналогичные вычисления проводились и для h=0,1.

Таким образом, приближенное решение уравнения получаем в виде таблицы. Построим ломаную Эйлера для h=0,2 и h=0,1 в одной системе координат.

 

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

 

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

Альтернативный путь открывает метод Рунге-Кутта, названный по имени его создателей.

Основная идея метода Рунге-Кутта такова: вместо использования в формулах частных производных функции f(x,y) использовать лишь саму эту функцию, но на каждом шаге вычислять ее  значение в нескольких точках.

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

,        (5.5)

                 (5.6)

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

Пример: Решить дифференциальное уравнение  на отрезке  с начальным условием у(0)=1 и шагом h=0.05.

Решение: Сначала решим это уравнение аналитически:

- уравнение с разделяющимися переменными.

,

Применим начальное условие , получим:

Таким образом, частное решение данного уравнения, удовлетворяющее заданному начальному условию:

.

Пользуясь этой формулой, можно получить таблицу «точного» решение уравнения.

Найдем приближенное решение дифференциальное уравнение по методу Рунге-Кутта. Проведем последовательные вычисления по формулам (5.5), (5.6):

Имеем: f(x,y)=y(1-x), =0, =1, h=0.05. Тогда

 

Подставим найденные значения в формулу (5.5):

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

Для сравнения результатов построим таблицу, в которой укажем численные решения, полученные по методу Эйлера, методу Рунге-Кутта и «точное решение».

 

 

 

Х

У

метод Эйлера

метод Рунге-Кутта

«точное решение»

0,00

0,05

0,10

0,15

0,20

0,25

0,30

0,35

0,40

0,45

0,50

1

1,05

1,0999

1,1494

1,1982

1,2462

1,2929

1,3381

1,3816

1,4231

1,4622

1

1,0499

1,0997

1,1488

1,1972

1,2445

1,2905

1,3348

1,3771

1,4173

1,4550

1

1,0499

1,0997

1,1488

1,1972

1,2445

1,2905

1,3348

1,3771

1,4173

1,4550

Из таблицы видно, что результаты, получения по методу Рунге-Кутта практически совпадают с «точным» решением уравнения, в отличие от соответствующих значений, полученных по методу Эйлера.

 

Задания практического занятия №10

 

Задание 1.

Решить задачу Коши для дифференциального уравнения y’=f(x,y) на отрезке [a;b] при заданном начальном условии y(a)=y0   и шаге интегрирования h методом Эйлера:

а) с применением «ручных» вычислений с шагом 2h.

б) с помощью программы для компьютера с шагом h.

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

Задание 2

Решить задачу Коши для дифференциального уравнения y’=f(x,y) на отрезке [a;b] при заданном начальном условии y(a)=y0  методом Рунге-Кутта с помощью программы для компьютера с шагом h и с шагом h/2.

На основе результатов двойного счета сделать вывод о точности полученного решения.

Задание 3

Найти точное решение задачи Коши.

 

  Таблица 1

Вариант

f(x)

a

b

y0

h

1

3

5

1

0.2

2

2.6

4.6

1

0.2

3

0

2

0

0.2

4

1

3

1

0.2

5

0

2

0

0.2

6

1

3

1

0.2

7

0.5

2.5

0

0.2

8

0.2

2.2

1

0.2

9

1

3

2

0.2

10

3

5

1

0.2

11

0.2

2.4

1

0.2

12

1

3

0

0.2

13

2.6

4,6

2

0.2

14

1.5

3,5

0

0.2

15

2.1

4.1

0

0.2

 

Контрольные вопросы

 

1.      Что является решением дифференциального уравнения?

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

3.      В какой форме получается приближенное решение дифференциального уравнения по методу Эйлера?

4.      В чем основная идея метода Рунге-Кутта?

5.      В чем отличие одношаговых методов Эйлера и Рунге-Кутта?


Приложение 1 Практическое занятие №2

 

Блок схема алгоритма метода половинного деления:

 

 


Программа реализации метода половинного деления

для уточнения корня уравнения f(x)=0 на отрезке [a;b] с точностью eps

 

{         Практическое занятие №2               Метод деления пополам

Выполнил студент 3 курса гр.    Ф.И.О.}

 

Program metod_polov_deltnia;

  Label M,M1;

  Var c,d,e,x,y,z:Real;

      k:Integer;

Begin

  Write('Введите с='); ReadLn(c);

  Write('Введите d='); ReadLn(d);

  Write('Введите е='); ReadLn(e);

z:=cos(1.1*x)/sin(1.1*x)-2*x;  {впишите свою функцию}

k:=0;

M: x:=(c+d)/2;

  If (d-c)/2<=e then

    Begin

      WriteLn('x=',x);

      WriteLn('k=',k);

      GOTO M1;

    End

    else

    Begin

      y:=exp(x*Ln(5))-6*x+3;

      k:=k+1;

      If y*z>0 then

        Begin

          c:=x; z:=y;

          GOTO M;

        End

      else

        Begin

          d:=x;

          GOTO M;

        End;

    End;

M1: End.

 


Приложение 2 Практическое занятие №3

 

Блок схема алгоритма метода касательных:

 


Программа реализации метода касательных

для уточнения корня уравнения f(x)=0 на отрезке [a;b] с точностью eps

 

{         Практическое занятие №3               Метод касательных

Выполнил студент 3 курса гр.    Ф.И.О.}

 

Program metod_Newton;

Label M,M1;

  Var c,d,e,x,y,z:real;

      k:Integer;

Begin

  Write('Введите с='); ReadLn(c);

  Write('Введите d='); ReadLn(d);

  Write('Введите е='); ReadLn(e);

  x:=(c+d)/2;

  k:=0;

M: z:=( cos(1.1*x)/sin(1.1*x)-2*x)/( -(1.1/(sin(1.1*x)*sin(1.1*x))+2)) ; {впишите }

  y:=x-z;

  If abs(y-x)<=e then

     Begin

      WriteLn('y=',y);

      WriteLn('k=',k);

      GOTO M1;

     End

    else

     Begin

        x:=y;

        k:=k+1;

        GOTO M;

     End;

M1: End.

 

 


Приложение 3 Практическое занятие №4

Укрупнённая схема алгоритма (блок-схема) метода Гаусса


Алгоритмы отдельных блоков метода

Блок 2. С помощью двух вложенных циклов с управляющими переменными i=1,n и j=1,k организуем ввод коэффициентов ai,j и свободных членов bi исходной системы. Для того, чтобы в дальнейшем можно было выполнить в блоке 9 проверку результата, в алгоритме предусмотрено сохранение значений ai,j и bi исходной системы с помощью переприсвоений: cij=aij и di=bi

Блок 3. Организуем цикл по k, внутри которого производится вычисление по всем шагам прямого хода. Последний п-й шаг прямого хода выводим из цикла.

Блок 4. На каждом шаге прямого хода выполняем поиск ненулевого ведущего элемента.

Блок 5 - шаг прямого хода. На каждом шаге прямого хода проводим исключение неизвестных путём преобразования коэффициентов и свободных членов системы по полученным ранее рекуррентным формулам.

Блок 6. В этом блоке выведем из цикла по k последний шаг прямого хода, т.к. на этом шаге не нужны преобразования коэффициентов и свободных членов, а реализуется только одно вычисление :     xn=bn/an,n

 

Блок 7 - обратный ход. В процессе обратного хода метода Гаусса из системы треугольного вида последовательно в обратном порядке в цикле по i=(n-1),1,-1 находим неизвестные системы по рекуррентной формуле :     bi= bi - xj.ai,j , i=(n-1),1, j=(n+1),n.

 

Блок 9 - проверка результата. В этом блоке подставляя значения полученных неизвестных в исходную систему и используя сохранённые значения коэффициентов системы ci,j и свободных членов di, проводим проверку решения задачи по формуле

Блок 9 в алгоритме метода Гаусса рекомендуется использовать только в процессе отладки метода.


 

Программа реализации метода Гаусса решения систем линейных уравнений

 

{         Практическое занятие №4

Решение системы линейных уравнений и вычисление определителя по простой схеме Гаусса

Выполнил студент 3 курса гр.    Ф.И.О.}

program Gauss;

uses crt;

const n=3; {порядок системы}

type T=real;

var a:array[1..n,1..n+1] of T;

    x:array[1..n] of T;

    da:array[1..n,1..n+1] of real;

    dx:array[1..n] of real;

    r,g,det:T;

    dr,dg,ddet:real;

    m,k,i,j:integer;

function ds(da,db:real):real; {погрешность суммы(разности)}

    begin ds:=da+db

    end;

function dpr(a,b:T; da,db:real):real;   {погрешность произведения}

    begin dpr:=abs(a)*db+abs(b)*da

    end;

function dch(a,b:T; da,db:real):real;    {погрешность частного}

    begin dch:=da/abs(b)+db*abs(a)/(b*b)

    end;

begin

    m:=n;   {ввод расширенной матрицы системы}

    for k:=1 to n do for j:=1 to n+1 do

       begin writeln('введите a[',k,',',j,']');

             read (a[k,j]);

       end;

            {вывод элементов расширенной матрицы системы - для контроля правильности ввода}

    writeln('расширенная матрица системы');

    for k:=1 to n do

       begin for j:=1 to n+1 do write (a[k,j]:12:4,' ');

            writeln

       end;

            {ввод абсолютных погрешностей элементов расширенной матрицы -  для контроля правильности ввода}

       for k:=1 to n do for j:=1 to n+1 do

         begin writeln('введите da[',k,',',j,']');

             read (da[k,j])

       end;

           {вывод абсолютных погрешностей элементов расширенной матрицы -  для контроля правильности ввода}

    writeln; writeln('абсолютные погрешности элементов расширенной матрицы');

      for k:=1 to n do

       begin for j:=1 to n+1 do write (da[k,j]:12,' ');

            writeln

       end;

    det:=1.0;   {подготовка к вычислению определителя}

                {начало 'прямого хода' метода Гаусса}

    dr:=0; ddet:=0;

    for k:=1 to n do

       begin det:=det*a[k,k];

          ddet:=dpr(det,a[k,k],ddet,da[k,k]);

          for j:=k+1 to n+1 do

             begin a[k,j]:=a[k,j]/a[k,k];

                da[k,j]:=dch(a[k,j],a[k,k],da[k,j],da[k,k])

             end;

     for i:=k+1 to n do

       for j:=k+1 to n+1 do

         begin r:=a[k,j]*a[i,k];

           dr:=dpr(a[k,j],a[i,k],da[k,j],da[i,k]);

           a[i,j]:=a[i,j]-r;

           da[i,j]:=ds(da[i,j],dr)

         end;

        end;

     if m<0 then m:=0;

     writeln; writeln('определитель системы=', det:7:m);

     writeln (' предельная абс.погрешность значения опреднлителя=',ddet:10);

           {начало 'обратного хода' метода Гаусса}

     x[n]:=a[n,n+1]; dx[n]:=da[n,n+1];

     for k:=n-1 downto 1 do

       begin r:=0; dr:=0;

         for j:=n downto k+1 do

            begin g:=a[k,j]*x[j];

            dg:=dpr(a[k,j],x[j],da[k,j],dx[j]);

            r:=r+g;

            dr:=ds(dr,dg);

            end;

         x[k]:=a[k,n+1]-r;

         dx[k]:=ds(da[k,n+1],dr);

        end;

        writeln;writeln ('результат решения системы');

          for i:=1 to n do

            begin

              if m<0 then  m:=0;

                 write ('x[',i,']=',x[i]:7:m,' ')

            end;

       writeln;writeln ('предельная абс.погрешность результата');

          for i:=1 to n do  write('dx[',i,']=',dx[i]:10,' ');

          repeat until keypressed

end.

       

      

 


Приложение 4 Практическое занятие №5

Листинг программы

 

{Метод прогонки}

program progonka;

 

var i,j:integer;

var e:real;

var a:array[1..10,1..10] of real;

var x,b, ai, bi, ci, di, Aii, Bii:array[1..10] of real;

 

begin

for j:=1 to 4 do begin

 writeln('введите 4 значения строкиj=',j,'матрицы А');

 readln(a[j,1], a[j,2], a[j,3], a[j,4]);

 end;

 writeln('введите 4 значения столбца правой части b ');

 readln(b[1], b[2], b[3], b[4]);

for i:=1 to 4 do

 begin

 if i=1 then ai[i]:=0 else ai[i]:=a[i,i-1];

 bi[i]:=a[i,i];

 if i=4 then ci[i]:=0 else ci[i]:=a[i,i+1];

 di[i]:=b[i];

 end;

 Aii[1]:=-ci[1]/bi[1];

 Bii[1]:=di[1]/bi[1];

 for i:=2 to 4 do

 begin

 e:=ci[i]*Aii[i-1]+bi[i];

 Aii[i]:=-ci[i]/e;

 Bii[i]:=(di[i]-ai[i]*Bii[i-1])/e;

 end;

 for i:=4 downto 1 do  begin

 x[i]:=Aii[i]*x[i+1]+Bii[i];

 writeln('решение линейной системы методом прогонки’);

 writeln('x1=',x[1],'  x2=',x[2],'x3=',x[3],'x4=',x[4]);

 end;

 end.

 

 


Листинг  программы

 

{ Решение системы методом Гаусса-Зейделя }

 

program SLAU2;

label 1,2,3;

const n=4;

var a:array [1..n,1..n] of real;

    b,x:array [1..n] of real;

    i,j,k,m:integer;

    e,s,d,d1,c:real;

begin

{ Ввод исходных данных }

     for i:=1 to n do

     begin

         writeln (‘Введите коэффициенты уравнения’,i);

         for j:=1 to n do read (a[i,j]);

         writeln (‘Введите свободный член уравнения’,i);

         read (b[i]);

end;

     writeln ('Введите точность');readln (e);

     writeln ('Введите допустимое кол-во итераций');readln (m);

     for i:=2 to n do x[i]:=0;

{ Решение системы }

     k:=1;

     repeat

           d1:=0;

           for i:=1 to n do

           begin

                s:=0;

                for j:=1 to n do

                begin

                     if i=j then goto 1;

                     s:=s+a[i,j]*x[j];

1:              end;

                c:=(b[i]-s)/a[i,i];

                d:=abs(c-x[i]);

                if d1<d then d1:=d;

                x[i]:=c;

           end;

           k:=k+1;

           if k>m then goto 2;

     until d1<e;

{ Вывод результатов }

     writeln (‘решение системы’);

     for i:=1 to n do write (x[i]:8:4);

     writeln; goto 3;

2:   writeln ('Количество итераций выше допустимого');

3:end.

 

 


Приложение 5 Практическое занятие №6

 

Блок схема алгоритма интерполяции функции многочлена Лагранжа


Программа реализации построения интерполяционного многочлена Лагранжа

 

{     Практическое занятие №6

Интерполяционный многочлен Лагранжа

выполнил студент гр.     Ф.И.О. }

 

 

program Lagrang;

uses crt;

  type mus=array[0..10] of real;

  label 1;

  var x,y:mus; n,i,j:integer;

  a,m,f:real;

begin

clrscr;

   writeln('Задайте степень многочлена');

   readln(n);

   writeln('Введите значение аргумента, для которого');

   writeln('требуется найти значение функции');

   readln(a);

   writeln('Введите значения х,у через пробел');

   for i:=0 to n do read(x[i],y[i]);

   f:=0;

   for i:=0 to n do

   begin

     j:=0;

     m:=1;

     1: if i=j then inc(j);

     if j<=n then

        begin

         m:=m*(a-x[j])/(x[i]-x[j]);

         inc(j); goto 1;

        end;

  m:=y[i]*l;

  f:=f+m;

  end;

writeln('При а=',a:5:2,'    f(',a:5:2,')=',f:5:2);

readkey;

end.

 

 


Приложение 6 Практическое занятие №7

 

Блок схема метода интерполяции сплайнами

 

 

 

 

 

 

 

 

 

 

 

 


Программа реализации построения интерполяционного сплайна

{     Практическое занятие №7    Интерполяционный сплайн

выполнил студент гр.      3 курса

Ф.И.О.                                           }

program intspline;

const maxn=50;

type    vec=array[0..maxn] of real;

var i,n:integer;

    x3,y:real;

    x,f,a,b,c,d:vec;

procedure sy(il,ir: integer; a,b,d: vec;  var c: vec);

var i,j,l:integer;

    r: real;

begin

     l:=il+1;

     for i:=l to ir do begin

                       r:=b[i]/d[i-1];

                       d[i]:=d[i]-r*a[i-1];

                       c[i]:=c[i]-r*c[i-1]

                       end;

    c[ir]:=c[ir]/d[ir];

    for i:=1 to ir do begin

                        j:=ir-i+il;

                        c[j]:=(c[j]-a[j]*c[j+1])/d[j]

                      end

end;

procedure spl(n: integer; x,f: vec;  var x0,y0: real);

var i,i0:integer;

    r,t: real;

    a,b,c,d: vec;

begin

    for i:=1 to n do b[i]:=x[i]-x[i-1];

    i0:=1;

    for i:=2 to n do  if abs(x0-x[i])<=abs(x0-x[i0]) then i0:=i;

    writeln('i0=  ',i0);

    for i:=1 to n-1 do

    begin

      d[i]:=2*(b[i]+b[i+1]);

      a[i]:=b[i+1];

      c[i]:=6*((f[i+1]-f[i])/b[i+1]-(f[i]-f[i-1])/b[i])

    end;

    sy(1,n-1,a,b,d,c);  c[0]:=0;  c[n]:=0;

    r:=(x[i0]-x0);  t:=(x0-x[i0-1]);

    y0:=(c[i0-1]*r*r*r+c[i0]*t*t*t)/(6*b[i0]);

    y0:=y0+(f[i0-1]/b[i0]-c[i0-1]*b[i0]/6)*r;

    y0:=y0+(f[i0]/b[i0]-c[i0]*b[i0]/6)*t

end;

begin

   writeln('введите количество пар элементов таблицы');

   readln(n);

   writeln('Введите значения х,f через пробел');

   for i:=0 to n-1 do read(x[i],f[i]);

   writeln('введите точку х3'); readln(x3);

   spl(n,x,f,x3,y);

   writeln('x3=',x3,'  f(x3)=',y);

end.


 

Приложение 7 Практическое занятие №8

 

 

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

 

{         Практическое занятие №8

Вычисление интегралов при помощи формул Ньютона-Котеса.

Выполнил студент 3 курса гр.    Ф.И.О.}

 

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

 

{         Практическое занятие №8

Вычисление интегралов при помощи формул Ньютона-Котеса.

Выполнил студент 3 курса гр.    Ф.И.О.}

 

 

Программа реализации вычисления интегралов по формуле Симпсона

 

{         Практическое занятие №8

Вычисление интегралов при помощи формул Ньютона-Котеса.

Выполнил студент 3 курса гр.    Ф.И.О.}

 

program simpson;

uses crt;

const n=10;

type mas=array[0..n] of real;

var y:mas;  a,b,S,Integral,h,x:real; i:integer;

begin

   clrscr;

   writeln('Введите границы отрезка интегрирования:');

   readln(a,b);

   writeln('Задайте величину шага интегрирования:');

   readln(h);

   x:=a;

   for i:=0 to n do

      begin

        y[i]:={введите свою функцию}

        x:=x+h;

      end;

   S:=(y[0]-y[n])/2;

   i:=1;

   repeat

   S:=S+(2*y[i]+y[i+1]);

   i:=i+2;

   until i>=n;

   Integral:=2*(b-a)*S/(3*n);

   writeln('Значение интеграла: I=',Integral:11:9);

   readkey;

end.

 


Приложение 8 Практическое занятие №10

 

Блок схема метода Эйлера решения дифференциальных уравнений:

 

 

 


 

Блок схема метода Рунге-Кутта решения дифференциальных уравнений:

 


Программа реализации метода Эйлера решения дифференциальных уравнений

{         Практическое занятие №10

Метод Эйлера решения дифференциальных уравнений

Выполнил студент 3 курса гр.    Ф.И.О.}

program Euler;

uses crt;

var x,y,h,b:real;

function f(x1,y1:real):real;

begin

f:={введите свою функцию}

end;

begin

   clrscr;

   writeln('Введите через пробел начальные значения х и у: ');

   readln(x,y);

   writeln('Введите величину шага интегрирования h: ');

   readln(h);

   writeln('Введите абсциссу правого конца отрезка b: ');

   readln(b);

   writeln('Таблица значений искомой функции: ');

   writeln(' x ',' y ');

   repeat

     writeln(x:3:1,'  ',y:4:2);

     y:=y+h*f(x,y);

     x:=x+h;

   until x>=b+h/2;

   repeat until keypressed

end.

Программа реализации метода Рунге-Кутта решения дифференциальных уравнений

{         Практическое занятие №10

Метод Рунге-Кутта решения дифференциальных уравнений

Выполнил студент 3 курса гр.    Ф.И.О.}

program runge_kutta4;

uses crt;

var x,y,h,b,z:real; i,n:integer; r1,r2,r3,r4:real;

function f(x1,y1:real):real;

begin

f:={введите свою функцию}

end;

begin

   clrscr;

   writeln('Задайте начальные значения:  ');

   read(x,y);

   writeln('Укажите шаг интегрирования:  ');

   read(h);

   writeln('и правую границу отрезка интегрирования:  ');

   read(b);

        repeat

     writeln(x:3:2,'  ',y:4:4);

    r1:=h*f(x,y);

    r2:=h*f(x+h/2,y+r1/2);

    r3:=h*f(x+h/2,y+r2/2);

    r4:=h*f(x+h,y+r3);

    y:=y+(r1+2*r2+2*r3+r4)/6;

    x:=x+h;

      until x>=b+h/2;

end.


 

Литература

 

Основные источники

 

1.     Партыка Т.Л., Попов И.И. Математические методы. – М.: ФОРУМ       : ИНФРА-М, 2012.

2.     Агальцов В.П., Волдайская И.В.. Математические методы в программировании: Учебник.-  М.: ФОРУМ: ИНФРА-М, 2008.

 

Дополнительные источники

 

1.        Фомин Г.П. Математические методы и модели в коммерческой деятельности: Учебник. – М.: Финансы и статистика, 2008.

2.        Попов А.М. Экономико-математические методы и модели :учебник.-М.: Юрайт, 2012

 

Интернет-ресурсы

 

1.            Единое информационно-образовательное пространство колледжа NetSchool. Форма доступа: http://sgtek.ru

2.     Информационно-справочная система «В помощь студентам». Форма доступа: http://window.edu.ru

3.     Информационно-справочная система. Форма доступа:   http://dit.isuct.ru.

4.     Информационно-справочная система. Форма доступа: http://www.resolventa.ru

 

 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "МЕТОДИЧЕСКИЕ УКАЗАНИЯ для практических занятий по дисциплине «Численные методы» для студентов 3 курса (специальность Программирование в компьютерных системах"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Овощевод

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

Учебное пособие содержит  указания для практических занятий по «Численныеметоды», являющейся профессиональной дисциплиной. Методические указания составлены  в соответствии с рабочей программой  по дисциплине «Численныеметоды»и предназначены для студентов 3-го курса, обучающихся по специальности 230115 Программирование в компьютерных системах

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

Организация выполнения и контроля практических работ по дисциплине «Численные методы» является подготовительным этапом к сдаче экзамена по данной дисциплине.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 610 036 материалов в базе

Скачать материал

Другие материалы

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 28.01.2015 6831
    • DOCX 2.3 мбайт
    • 121 скачивание
    • Рейтинг: 3 из 5
    • Оцените материал:
  • Настоящий материал опубликован пользователем Евдокимова Марина Дмитриевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Евдокимова Марина Дмитриевна
    Евдокимова Марина Дмитриевна
    • На сайте: 9 лет и 4 месяца
    • Подписчики: 6
    • Всего просмотров: 140288
    • Всего материалов: 57

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Фитнес-тренер

Фитнес-тренер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Развитие функциональной грамотности у обучающихся средствами математики

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 203 человека из 54 регионов

Курс повышения квалификации

Развитие элементарных математических представлений у детей дошкольного возраста

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 175 человек из 44 регионов

Курс профессиональной переподготовки

Математика: теория и методика преподавания в сфере начального общего образования

Учитель математики в начальной школе

300/600 ч.

от 7900 руб. от 3950 руб.
Подать заявку О курсе
  • Сейчас обучается 125 человек из 43 регионов

Мини-курс

Инновационные методы обучения и игровые практики для детей с ОВЗ

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 35 человек из 18 регионов

Мини-курс

Методы и подходы проведения трекинга и менторства

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Управление и стратегическое развитие высшего образования

5 ч.

780 руб. 390 руб.
Подать заявку О курсе