Главная страница
Навигация по странице:

  • МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

  • САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ Кафедра информатики и компьютерных технологийКУРСОВАЯ РАБОТА

  • ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ

  • САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ

  • КУРСОВАЯ РАБОТА По дисциплине Введение в информационные технологии (наименование учебной дисциплины согласно учебному плану) ЗАДАНИЕ

  • Ряд 2.

  • Решение нелинейных систем уравнений итерационными меттодами. Курсач. Курсовая работа по дисциплине Введение в информационные технологии


    Скачать 0.53 Mb.
    НазваниеКурсовая работа по дисциплине Введение в информационные технологии
    АнкорРешение нелинейных систем уравнений итерационными меттодами
    Дата10.05.2022
    Размер0.53 Mb.
    Формат файлаdocx
    Имя файлаКурсач.docx
    ТипКурсовая
    #520190


    ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ



    МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    федеральное государственное бюджетное образовательное учреждение высшего образования

    САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ

    Кафедра информатики и компьютерных технологий

    КУРСОВАЯ РАБОТА

    По дисциплине Введение в информационные технологии

    (наименование учебной дисциплины согласно учебному плану)

    Тема работы: Решение систем нелинейных уравнений итерационными методами________
    Выполнил: студент гр. ЭС-21-1 Приходько Г.В.

    (шифр группы) (подпись) (Ф.И.О.)

    Оценка:

    Дата:

    Проверил

    руководитель работы: ассистент Лутонин А.С.

    (должность) (подпись) (Ф.И.О.)

    Санкт-Петербург 2022

    ПЕРВОЕ ВЫСШЕЕ ТЕХНИЧЕСКОЕ УЧЕБНОЕ ЗАВЕДЕНИЕ РОССИИ



    МИНИСТЕРСТВО науки и высшего ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    федеральное государственное бюджетное образовательное учреждение высшего образования

    САНКТ-ПЕТЕРБУРГСКИЙ ГОРНЫЙ УНИВЕРСИТЕТ

    УТВЕРЖДАЮ

    Заведующий кафедрой

    Маховиков А.Б.

    (подпись)

    «»2022 г.

    Кафедра информатики и компьютерных технологий

    КУРСОВАЯ РАБОТА

    По дисциплине Введение в информационные технологии

    (наименование учебной дисциплины согласно учебному плану)

    ЗАДАНИЕ

    студенту группы ЭС-21-1 ______Приходько Г.В,____

    (шифр группы) (Ф.И.О.)

    Тема работы Решение систем нелинейных уравнений итерационными методами.

    1. Исходные данные к работе: Вариант №23. Составить программу для решения системы нелинейных уравнений одним из вышеописанных методов с точностью ε=0.001. Систему уравнений выбрать в соответствии с номером варианта. Выполнить проверку решения вручную, а так же с помощью пакетов Microsoft Excel и MathCAD в соответствии с приведёнными выше примерами.

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

    3. Перечень графического материала: Рисунки, таблицы, блок-схема

    Срок сдачи законченной работы 2022 г.

    Задание выдал (руководитель работы) __________ Лутонин А.С.

    (подпись) (Ф.И.О.)

    Задание принял к исполнению студент Приходько Г.В.

    (подпись) (Ф.И.О.)

    Дата получения задания 15 марта 2022

    АННОТАЦИЯ
    В данной курсовой работе изучен итерационный метод решения систем нелинейных уравнений с помощью простых итераций. Для получения решения системы нелинейных уравнений проведены расчёты средствами табличного процессора MS Excel, математического пакета MathCAD, а также составлена программа в среде программирования VBA.

    Пояснительная записка курсовой работы содержит: титульный лист, оглавление, введение, два раздела, заключение и список использованных источников.
    ANNOTATION
    In this course work, an iterative method for solving systems of nonlinear equations using simple iterations is studied. To obtain a solution to a system of nonlinear equations, calculations were carried out using the MS Excel spreadsheet processor, the MathCAD mathematical package, and a program was compiled in the VBA programming environment.

    The explanatory note of the course work contains: a title page, a table of contents, an introduction, two sections, a conclusion and a list of sources used.



    ОГЛАВЛЕНИЕ:

    ВВЕДЕНИЕ


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

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

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

    Целью данной работы является изучение и проверка на практике метода решения системы нелинейных уравнений посредством простых итераций. Метод будет проверяться: вручную, с помощью MS Excel, MathCad и VBA.

    ОБЩИЕ СВЕДЕНИЯ




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


    Любую нелинейную систему n уравнений с nнеизвестными можно записать в виде

    . (1)

    где - некоторые функции переменных .

    Вектор неизвестных  обозначим через Х. Назовём невязками системы на векторе X. Очевидно, если - решение, то

    , (2)

    для всех i=1,2,…,n.

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

    , (3)

    где -заданная точность. Полученное значение считается приближенным решением системы (1).


    2. Алгоритм метода простых итераций


    1. Задаёмся точностью вычислений ε ( обычно

    2. Записываем систему в нормализованном виде:

    , где (4)



    Выбираем начальное приближение

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

    1. Вводим переменную, которая нумерует приближения. Первоначально полагаем, что .

    2. Записываем формулу итерационного процесса в виде


    . (5)


    1. Вычисляем -е приближение по формуле (5).

    2. Сравниваем полученное приближение с предыдущим:


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

    . (7)




    РЕШЕНИЕ СИСТЕМЫ НЕЛИНЕЙНЫХ УРАВНЕНИЙ




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



    Задание:

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



    Решение:

    Согласно приведённому выше алгоритму, принимаем

    .

    Преобразовываем выражения:



    Таким образом система принимает вид:


    Далее необходимо выбрать начальные приближения. Для этого в системе координат x1 иx2 строим графики приведённых выше зависимостей. Для этого в ячейки А1:A13 задаём диапазон изменения аргумента [-3;3], с шагом 0,5. В ячейку В1 нужно вставить формулу =SIN((A1+1)/2)^2, в ячейку С1 вносим формулу =0,4+SIN(A1-3),. Копируем формулы на необходимый диапазон, и выделив два ряда данных, строим по ним точечную диаграмму (рис.1).

    На имеющуюся диаграмму добавляем ещё одну. Для этого в контекстном меню диаграммы выбираем пункт Выбрать данные, и в открывшемся окне добавляем Ряд 2. В качестве данных для построения графика указываем Значения Х диапазон С1:С13, а Значения У диапазон А1:А13(рис. 2).



    Рис. 1. Построение графика



    Рис 2. Добавление данных

    Таким образом получается две диаграммы на одной оси координат (рис.3).



    Рис. 3. График зависимости х1 от х2

    Из графика видно, что система имеет одно решение, заключённое в области . За начальное приближение принимаем



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





    Проверяем условия:





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

    Дальнейшие вычисления производятся по формуле (5). На первом шаге получаются следующие значения:



    ;

    Критерий близости вычисляется по формуле (6):





    Таким образом, после первой итерации заданная точность не достигнута, т.к. 0.0076>0.001. Значит необходимо перейти к следующему шагу.

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



    ;

    Вычислив критерий близости, получим:





    Таким образом, после второй итерации заданная точность не достигнута, т.к. 0.0033>0.001. Значит необходимо перейти к третьему шагу.

    На следующем шаге получаются следующие значения:



    ;

    Вычислив критерий близости, получим:





    Таким образом, после третьей итерации заданная точность не достигнута, т.к. 0.003>0.001. Значит необходимо перейти к следующему шагу.

    На четвёртом шаге получаются следующие значения:



    ;

    Вычислив критерий близости, получим:





    Таким образом, после четвёртой итерации заданная точность не достигнута, т.к. 0.0013> 0.001. Значит необходимо перейти к пятому шагу.

    На следующем шаге получаются следующие значения:



    ;

    Вычислив критерий близости, получим:





    Таким образом, после пятой итерации заданная точность не достигнута, т.к. 0.0012> 0.001. Значит необходимо перейти к следующему шагу.

    На шестом шаге получаются следующие значения:



    ;

    Вычислив критерий близости, получим:





    Таким образом, после шестой итерации заданная точность достигнута, т.к. 0.0005<0.001. Следовательно, вычисления закончены. Результат вычислений приведены в табл.1

    Таблица 1

    Результаты вычислений:

    k











    0

    0.0200

    0.2400










    1

    0.0276

    0.2383

    0.0076

    0.0017

    0.0076

    2

    0.0292

    0.2416

    0.0016

    0.0033

    0.0033

    3

    0.0262

    0.2422

    0.0030

    0.0006

    0.0030

    4

    0.0255

    0.2409

    0.0007

    0.0013

    0.0013

    5

    0.0267

    0.2407

    0.0012

    0.0002

    0.0012

    6

    0.0269

    0.2412

    0.0002

    0.0005

    0.0005

    Таким образом, решение системы:


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



    Поскольку метод простых итераций заключается в последовательном повторении ряда однотипных вычислений, то этот метод достаточно просто реализуется с помощью инструментов MS Excel. На примере, описанном выше, рассмотрим последовательность решения системы нелинейных уравнений методом простых итераций средствами Excel.

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

    2. В диапазон ячеек А2:А8 вносим номер итерации, начиная с нуля. Можно внести большее количество итераций, чем было получено при расчёте вручную.

    3. В ячейки В2 и С2 вносим значение корней в первом приближении, найденных из графика (рис.1).

    4. В ячейку В3 вносим формулу = 0,4+sin(C2-3)

    5. В ячейку С3 вносим формулу =sin((B2+1)/2)^2.

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

    7. Таким же образом копируем ячейку С3.

    8. В ячейке D3 вычисляем разность между последующим и предыдущим х1 по формуле = В3-В2, и копируем её на необходимый диапазон.

    9. Аналогично вычисляем разность между значениями х2 в ячейке Е3 = С3-С2, далее копируем полученную формулу.

    10. Вычисляем критерий близости М для каждого шага итераций. В ячейку F3 вносим формулу =МАКС(ABS(D3);ABS(E3)) и копируем её.

    11. Сравниваем полученный критерий близости с заданной точностью, значение которой указанно в ячейке G2, и в зависимости от результатов делаем вывод о том, необходимо ли продолжить вычисления или остановиться. Для этого в ячейку G3 вносим формулу = ЕСЛИ(F3>$G$2;"продолжать вычисления ";"стоп "), в которой необходимо сделать абсолютную ссылку на ячейку G2, где указана заданная точность.

    12. Копируем данную формулу до тех пор, пока критерий близости не станет больше точности и в ячейке не появится слово «СТОП».

    13. Таким образом решением системы будет



    Результаты вычислений представлены на рис. 4

    В результате вычислений средствами MS Excel решение системы совпали с полученными при расчёте вручную. Что подтверждает то, что метод был реализован верно.


    Рис. 4. Реализация метода простых итераций средствами Excel

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



    В пакете MathCAD можно реализовать метод простых итераций разными способами. Можно производить пошаговые вычисления х1 и х2, с последующим вычислением критерия близости и сравнением его с точностью. Наиболее оптимальным является выполнение последовательности указанных операций в виде цикла, созданного с помощью панели «Программирование».

    На рис. 5 представлен пример программы для реализации метода простых итераций для решения системы уравнений, представленной в предыдущих разделах. Решение системы Х задаём как функцию от количества итераций n и точности e. Значение n задаём любое, учитывая в цикле, что вычисления прекратятся при достижении заданной точности. Задаём значения корней в первом приближении
    Далее открываем цикл итераций в котором вычисляем х1 и х2, а также модуль разности предыдущего и последующего значения. Вычисления заканчиваются, если точность достигнута, иначе переходим к следующей итерации. Решения системы выводим в виде матрицы из двух столбцов.



    Рис.5. Программа для решения системы методом простых итераций.

    4. Решение системы нелинейных уравнений методом простых итераций средствами языка программирования VBA (VISUAL BASIC OF APPLICATION)



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

    Перед созданием программы, я создал блок-схему, которая описывает действие этой самой программы. Блок-схема изображена на рис. 6.

    Для решения данной системы мной была написана программа, указанная на рис. 7.

    Результат действия программы представлен ниже, на рис.8.

    начало







    x10, x20, E





    x1 = 0,4 + sin(x20-3)

    x2 = sin((x20+1)/2)^2

    x10 = x1

    x20 = x2







    |x1-x10| < E

    или

    |x2-x20| < E

    Нет



    Да





    Вывод x1, x2



    конец


    Рис. 6. Блок-схема программы



    Рис. 7. Программа для решения системы методом простых итераций




    Рис. 8. Результат действия программы



    ЗАКЛЮЧЕНИЕ



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

    СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ



    1) ИНФОРМАТИКА.: Методические указания для выполнения курсовой работы /Санкт-Петербургский горный университет. Сост.: С.Ю. Кротова, Е.Н Овчинникова, А.Е. Ильин. СПб, 2021. 38 с.




    написать администратору сайта