Расшифровка подписи программирование численных методов пояснительная записка к курсовой работе по дисциплине «Теоретические основы аппаратно-программных средств»



бет1/6
Дата22.11.2022
өлшемі0,69 Mb.
#51735
түріПояснительная записка
  1   2   3   4   5   6


Федеральное агентство железнодорожного транспорта
Омский государственный университет путей сообщения
Кафедра «Автоматика и системы управления»


Допущен к защите

«




»




2021 г.










Подпись




Расшифровка подписи

ПРОГРАММИРОВАНИЕ ЧИСЛЕННЫХ МЕТОДОВ


Пояснительная записка к курсовой работе по дисциплине
«Теоретические основы аппаратно-программных средств»
ИНМВ.400200.000 ПЗ




Оценка

«




»




2021 г.










Подпись




Расшифровка подписи




Студент гр. 20 М

__________Е.Д.Байгуанышев


«__»_________ 2021 г.
Доцент кафедры АиСУ
____________ А.С. Окишев
«__»_________ 2021 г.



Омск 2021

Реферат
УДК 519.6

Пояснительная записка содержит 41 страниц, 12 рисунков, 6 таблицы, 4 источника.


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


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


Цель работы – ознакомиться с численными методами решения нелинейных и дифференциальных уравнений и интерполяции функций, решить предложенные типовые задачи с помощью предоставленного преподавателем программного обеспечения, сформулировать выводы по полученным решениям, отметить достоинства и недостатки методов, сравнить удобство использования и эффективность работы каждой программы.
Пояснительная записка к курсовой работе оформлена в текстовом редакторе Microsoft Word 2007. Графики нелинейных функций построены с помощью программы Matlab R2010a. При решении обыкновенных дифференциальных уравнений использовалась среда математического моделирования Matlab R2010a.

Содержание



a.2.1 Локальная и глобальная интерполяция 18
b.2.2 Кусочно-линейная интерполяция 18
c.2.3 Кусочно-квадратичная интерполяция 19
d.2.4 Кубические сплайны 20
e.2.5 Многочлен Лагранжа 22
Вывод 35
f.3.5 Вывод 43
2.Заключение 44
Библиографический список 45

Введение
В связи с развитием новой вычислительной техники инженерная практика наших дней все чаще и чаще встречается с математическими задачами, точное решение которых получить весьма сложно или невозможно. В этих случаях обычно прибегают к тем или иным приближенным вычислениям. Вот почему приближенные и численные методы математического анализа получили за последние годы широкое развитие и приобрели исключительно важное значение.
Новые вычислительные средства вызвали переоценку известных методов решения задач с точки зрения целесообразности их реализации на ЭВМ и стимулировали создание более эффективных, что привело к появлению новой дисциплины – вычислительной математики. Предметом изучения последней являются численные методы решения задач математического анализа: изучение алгоритмов и условий сходимости итерационных методов, определение границ применимости методов, исследования оценок погрешностей методов и вычислений. Главным разделом вычислительной математики является реализация численных методов на ЭВМ, то есть составление программы для требуемого алгоритма и решения с ее помощью конкретной задачи.
Любая прикладная задача формируется исходя из определенного физического смысла некоторого процесса (распределение тепла в стержне, описание траектории движения объектов). Прикладная математическая задача может быть сформулирована, например, из описания некоторой экономической модели (задача распределения ресурсов, задача планирования производства, транспортная задача перевозки грузов, оптимальных в заданном смысле). Следовательно, для постановки любой прикладной задачи нужна математическая модель. Поэтому, можно выделить следующие этапы решения задач на ЭВМ:
1) описание математической модели задачи на основе физической или экономической модели;
2) изучение методов решения поставленной математической модели задачи и создание новых методов;
3) выбор метода решения задачи исходя из заданной точности решения и особенностей задачи;
4) составление блок-схемы программы для решения задачи на ЭВМ;
5) отладка программы и оценка полученных результатов;
6) решение задачи на ЭВМ, построение графиков, получение оценки погрешностей, обоснование результатов.
В курсовой работе рассматриваются не прикладные, а типовые математические задачи, которые могут возникнуть при переходе от реальных систем к их математическим моделям, поэтому основное внимание уделяется последнему этапу.
1 Решение нелинейных уравнений
Нелинейными уравнениями называются уравнения вида




,

(1.1)

где – нелинейная функция, которая может относиться к трем типам:
1) нелинейная алгебраическая функция вида
;
2) трансцендентные функции – тригонометрические, обратные тригонометрические, логарифмические, показательные и гиперболические функции;
3) различные комбинации этих функций, например, .
Решением нелинейного уравнения (1.1) является такая точка , которая при подстановке в уравнение (1.1) обращает его в тождество. На практике не всегда удается подобрать такое решение. В этом случае решение уравнения (1.1) находят с применением приближенных (численных) методов. Тогда решением будет являться такая точка , при подстановке которой в уравнение (1.1) последнее будет выполняться с определенной степенью точности, т.е. , где ε – малая величина. Нахождение таких решений и составляет основу численных методов и вычислительной математики.
Решение нелинейных уравнений разделяется на два этапа: отделение корней уравнений и уточнение корней нелинейных уравнений.
На первом этапе необходимо исследовать уравнение и выяснить, имеются корни или нет. Если корни имеются, то узнать, сколько их, и затем определить интервалы, в каждом из которых находится единственный корень.
Первый способ отделения корней – графический. Исходя из уравнения (1.1), можно построить график функции . Тогда точка пересечения графика с осью абсцисс является приближенным значением корня. Если f(x) имеет сложный вид, то ее можно представить в виде разности двух функций . Так как , то выполняется равенство . Если построить два графика , , то абсцисса точки их пересечения будет приближенным значением корня уравнения.
Второй способ отделения корней нелинейных уравнений – аналитический. Он основывается на следующих трех теоремах.
Теорема 1. Если функция непрерывна на отрезке и меняет на концах отрезка знак (т.е. ), то на содержится хотя бы один корень.
Теорема 2. Если функция непрерывна на отрезке , выполняется условие вида и производная сохраняет знак на , то на отрезке имеется единственный корень.
Теорема 3. Если функция является многочленом n-ой степени и на концах отрезка меняет знак, то на имеется нечетное количество корней (если производная сохраняет знак на , то корень единственный). Если на концах отрезка функция не меняет знак, то уравнение (1.1) либо не имеет корней на , либо имеет четное количество корней.
При аналитическом методе исследований необходимо выявить интервалы монотонности функции . Для этого необходимо вычислить критические точки , в которых первая производная равна нулю или не существует. Тогда вся числовая ось разбивается на интервалы монотонности . На каждом из них определяется знак производной , где . Затем выделяются те интервалы монотонности, на которых функция меняет знак.
На втором этапе на каждом из этих интервалов для поиска корня используются численные итерационные методы уточнения корней, например методы половинного деления, простых итераций или Ньютона.
1.1 Метод простых итераций
Пусть известно, что нелинейное уравнение (1.1) имеет на отрезке единственный вещественный корень . Требуется найти этот корень с заданной точностью. Применяя тождественные преобразования, приведем уравнение к виду




.

(1.2)

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

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




.

(1.3)

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






.

(1.4)

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



а б
Рисунок 1.1 – Сходящийся (а) и расходящийся (б) итерационные процессы

Часто, если итерационный процесс расходится из-за невыполнения условия (1.4), нелинейное уравнение можно привести к виду, допускающему сходящиеся итерации.


Выполнения условия сходимости можно добиться путем перехода от исходного уравнения к эквивалентному виду следующим образом: сначала умножить обе части уравнения (1.1) на , а затем прибавить к обеим частям x, тогда . Обозначив , получим уравнение (1.2). Константа с выбирается так, чтобы выполнялось достаточное условие сходимости итерационного процесса (1.4), т.е.




.

(1.5)

Условие (1.5) равносильно двойному неравенству
,
поэтому константа выбирается из соотношений:

Метод простых итераций и почти все другие итерационные методы имеют два достоинства:
1) являются универсальными и самоисправляющимися, то есть любая неточность на каком-либо шаге итераций отражается не на конечном результате, а лишь на количестве итераций. Подобные ошибки устойчивы даже по отношению к грубым ошибкам (сбоям ЭВМ), если только ошибка не выбрасывает очередное приближение за пределы области сходимости;
2) позволяют достигнуть любой заданной точности при любом начальном приближении .
Недостатки методов:
– трудность приведения уравнения (1.1) к виду (1.2).
– если начальное приближение находится далеко от корня, то число итераций при этом увеличивается, а объем вычислений возрастает.
Процесс итераций заканчивается при выполнении двух критериев:
1) Когда два последних приближения отличается между собой по модулю на заданную величину ε:




.

(1.6)

Одного критерия (1.6) недостаточно, так как в случае крутизны графика, данное условие будет выполнено, но может находиться далеко от корня;
2) Когда последнее вычисленное приближение к корню удовлетворяет уравнению с заданной точностью:




.

(1.7)

Отдельно критерия (1.7) бывает недостаточно, так как при пологой функции условие может быть выполнено, но может быть далеко от корня.
1.2 Метод Ньютона
Пусть уравнение (1.1) имеет на интервале единственный корень, причем существует непрерывная на производная . Метод Ньютона служит для уточнения корней нелинейных уравнений в заданном интервале. Его можно рассматривать как частный случай метода простых итераций, если
.
Тогда итерационный процесс осуществляется по формуле:




.

(1.8)

Геометрически этот процесс представлен на рисунке 1.2. Он означает замену на каждой итерации k графика кривой касательной к ней в точках с координатами .

Рисунок 1.2 – Геометрическая интерпретация метода Ньютона

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






.

(1.9)

При произвольном начальном приближении итерации сходятся, если




.

(1.10)

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




.

(1.11)

1.3 Решение нелинейного уравнения методом простых итераций




2 ln(x + 4) – 3 = 0

(1.12)

Задание: найти приближенное численное решение нелинейного уравнения методом простых итераций с точностью :
Для приблизительной оценки корней нелинейного уравнения (1.12) построим график функции с помощью программы Matlab (рисунок 1.3).

Рисунок 1.3 – График нелинейной функции y = f(x)

Из рисунка 1.3 видно, что график функции пересекает ось абсцисс в точке, расположенной на отрезке [-4;-3]В качестве начального приближения к корню выбираем точку x=-3


С помощью программы Matlab напишем код для решения нелинейного уравнения методом простых итераций.
Проект будет включать следующие файлы:
MPI.m – основной скрипт, в котором вводятся исходные данные, выполняется построение графика для отделения корней и выводится результат (листинг 1.1);
% ---- Этап 1: Отделение корней уравнения ----
x=-10:0.1:10;
y=3*atan(x) +3;
figure(1);
plot(x,y,'-b');
axis([-10 10 -2 2]);
xlabel('x');
ylabel('y');
grid on;
title ('График функции y=f(x)');
% ---- Этап 2: Уточнение корней уравнения ----
eps=1e-3;
kmax=50;
x=-2;
k=0;
[F F1]=fun1(x);
[x1,D]=Newton(x,F,F1);
k=k+1;
fprintf('%i\t %f\t %f \n', k, x1, D);
while (abs(D)>eps)&&(kx=x1;
[F F1]=fun1(x);
[x1,D]=Newton(x,F,F1);
k=k+1;
fprintf('%i\t %f\t %f \n', k, x1, D);
end
fprintf('Root: x =%f\n', x1);
fprintf('Number of iterations: k = %i\n', k);
fprintf('Accuracy: D =%f\n', D);
Листинг 1.1 – Основной скрипт метода простых итераций
Результат работы программы представлен на рисунке 1.4.

Рисунок 1.4 – Результат работы программы
В данном случае итерационный процесс сходится; корень уравнения x= -0.482550 найден с заданной точностью за 11 итераций, погрешность решения составляет 0.000694.
1.4 Решение нелинейного уравнения методом Ньютона
Задание: найти приближенное численное решение нелинейного уравнения методом Ньютона с точностью :






Достарыңызбен бөлісу:
  1   2   3   4   5   6




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет