Контрольная работа по "Вычислительная математика"

Автор работы: Пользователь скрыл имя, 15 Июля 2013 в 22:57, контрольная работа

Краткое описание

Определить корни уравнения F(x) = 0 графически и уточнить один из них:
• методом половинного деления,
• методом хорд,
• методом касательных,
• методом секущих,
• методом простой итерации
с точностью ε = 0.001.
Создать функции, реализующие указанные методы, построить графическую иллюстрацию методов, результаты проверить с помощью встроенных функций.

Содержание

Задание № 1 4
Теоретические сведения 4
Метод бисекции (деления отрезка пополам) 4
Метод хорд (метод линейной интерполяции) 6
Метод касательных (метод Ньютона) 9
Метод секущих 11
Метод простых итераций 13
Задача 1.1 15
Задача 1.2 18
Задание № 2 20
Теоретические сведения 20
Метод Гаусса (метод последовательного исключения неизвестных) 20
Задача 2.1 24
Задача 2.2 26
Задание № 3 28
Теоретические сведения 28
Метод Эйлера 28
Методы типа Рунге-Кутта 30
Задача 3.1 31
Литература 34
Схема выбора варианта. 35

Прикрепленные файлы: 1 файл

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА Редакция 10-02-2010.doc

— 2.34 Мб (Скачать документ)

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

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

После преобразований получаем выражение для метода простых  итераций:

На рисунках 1.6-1.7 приведены  графические решения для данной задачи

Рис. 1.6 График функции

Рис. 1.7. График функции

для решения методом простых итераций

Сравним результаты, полученные путем решения собственными средствами пакета MathCAD для данной задачи, с решениями, полученными разными методами решения:

 

 Пусть радиус равен единице.

 

Функция, корни которой  необходимо найти.

 

 

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

 

Получим решение стандартными средствами MathCAD:

.

 

Вызываем  функцию для решения  уравнений методом деления отрезка пополам:

.

А теперь для решения уравнений  методом деления  хорд:

.

Используем  метод Ньютона (метод  касательных):

.

Вызываем  функцию для решения  уравнений методом  секущих:

.

Используем  метод простых итераций (используем подготовленную ранее функцию F1)

.


 

Итак, решение найдено: угловая мера дуги сегмента, для которого площадь составляет пятую часть площади круга, равна 1.3816 радиан или 79.199º.

Задача 1.2

Решить уравнение  .

Методы решения нелинейных уравнений написаны таким образом, что одним из параметров процедуры является функция F(x). Таким образом, мы можем передавать в процедуру метода расчета произвольную функцию. В нашем случае это функция:

.

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

.

Графики этих функций приведены на рисунках 1.8 и 1.9:

Рис. 1.8. График функции

Рис. 1.9. График функции

для решения методом простых итераций

 

Приведем сравнение  для решения данного уравнения  разными методами и внутренними  средствами пакета MathCAD:

 

Функция, корни которой  необходимо найти.

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

Получим решение стандартными средствами MathCAD:

.

Вызываем  функцию для решения  уравнений методом  деления отрезка  пополам:

.

А теперь для решения уравнений  методом хорд:

.

Используем  метод Ньютона (метод касательных):

.

Используем  метод секущих:

.

Используем  метод простых итераций (используем подготовленную ранее функцию F1)

.


Итак, решение уравнения найдено:

 

x=0.7080.

 

Задание № 2

 

Решить систему уравнений с тремя неизвестными методом Гаусса-Жордана

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

 

Теоретические сведения

Метод Гаусса (метод последовательного исключения неизвестных)

Пусть дана система m линейных уравнений с n неизвестными . Требуется найти ее общее решение, если она совместна, или установить ее несовместность. Выпишем расширенную матрицу системы

Назовем элементарными операциями следующие действия с матрицами:

  1. перестановка строк;
  2. умножение строки на число, отличное от нуля;
  3. сложение строки с другой строкой, умноженной на число.

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

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

Цель алгоритма – с помощью применения последовательности элементарных операций к матрице A* добиться, чтобы каждая строка, кроме, быть может, первой, начиналась с нулей, и число нулей до первого ненулевого элемента в каждой следующей строке было больше, чем в предыдущей.

Шаг алгоритма заключается  в следующем. Находим первый ненулевой столбец в матрице A*. Пусть это будет столбец с номером i. Находим в нем ненулевой элемент и строку с этим элементом меняем местами с первой строкой. Чтобы не нагромождать дополнительных обозначений, будем считать, что такая смена строк в матрице A* уже произведена, то есть . Тогда ко второй строке прибавим первую, умноженную на число , к третьей строке прибавим первую, умноженную на число , и т.д. В результате получим матрицу

(Первые нулевые столбцы,  как правило, отсутствуют.)

Если в матрице  встретилась строка с номером k, в которой все элементы равны нулю, а , то выполнение алгоритма останавливаем и делаем вывод, что система несовместна. Действительно, восстанавливая систему уравнений по расширенной матрице, получим, что k-е уравнение будет иметь вид

Этому уравнению не удовлетворяет ни один набор чисел

.

Матрицу можно записать в виде:

,

где

.

По отношению к матрице  выполняем описанный шаг алгоритма. Получаем матрицу

,

где ,. Эту матрицу снова можно записать в виде

,

и к матрице C* снова применим описанный выше шаг алгоритма.

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

Если бы мы не уменьшали  матрицу, то в итоге пришли бы к  матрице вида

.

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

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

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

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

Задача 2.1

Решим данную систему  уравнений  средствами MathCAD:

 

 

Записываем матрицу левой части и вектор правой части системы уравнений.

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

Просматриваем результаты решения системы уравнений.


 

А теперь напишем функции  реализующие решение системы  уравнений методом Гаусса-Жордана:

Функция перестановки i- й и i +1-й строк матрицы:

 

С – входная матрица,

 

i – номер строки для перестановки.


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

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь вызываем нашу реализацию метода Гаусса.

Просматриваем результаты решения системы уравнений.


Как видим результаты вычислений встроенными средствами MathCAD и результаты, полученные на основе представленной реализации метода Гаусса-Жордана, совпали.

Задача 2.2

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

 

Решение совпало с  приведенным в [1].

 

Задание № 3

 

Решить задачу Коши для дифференциального уравнения

                                                         (3.1)

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

                                                         (3.2)

и шаге интегрирования h:

  • методом Эйлера;
  • методом Рунге-Кутта 4-го порядка точности.

Теоретические сведения

Метод Эйлера

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

расчетными точками (узлами) служат точки промежутка  и целью является нахождение функции в виде таблицы приближенных значений yi решения у=у(х) задачи в расчетных точках хi

X

Y

Информация о работе Контрольная работа по "Вычислительная математика"