- •Введение в компьютерное моделирование в естествознании.
- •Последовательность компьютерного моделирования.
- •Компьютерное моделирование в физике.
- •Принцип использования численного моделирования.
- •Свободное падение тел.
- •Решение систем нелинейных уравнений.
- •Вычисление определенных интегралов.
- •Решение систем дифференциальных уравнений.
- •Движение заряженных частиц.
- •Гармонический синтез.
- •Механические колебания.
- •Элементы гидроаэродинамики.
- •Движение жидкостей и газов.
- •Теперь рассмотрим движение твердых тел в жидкостях и газах.
- •Теплоемкость.
- •Тепловое излучение.
- •Содержание
Решение систем нелинейных уравнений.
Решение нелинейных уравнений вида F(x)=0 заключается в отыскании одного или всех корней на отрезке [a,b] изменения x. Обычно стараются локализовать каждый корень в своем отрезке [a,b]. Тогда нахождение всех корней сводится к локализации каждого корня с последующим сужением отрезков локализации корня [a,b] одним из известных методов.
метод простых итераций основан на представлении f(x)=0 в виде x=f(x) и многократном применении итерационной формулы xn+1 = f(xn) до тех пор, пока соблюдается условие: |xn+1-xn| , где - заданная погрешность определения корня xср. Итерация (лат.) – результат применения какой-либо математической операции, получающийся в серии аналогичных операций. Итерационный процесс сходится, т.е xn xср при n , если соблюдается условие f’(x)<1 при a<x<b.
метод Ньютона (метод касательных) основан на замене F(x) в точке начального приближения x=xo на касательную, пересечение которой с осью x дает первое приближение x1 и т.д. Таким образом, итерационный процесс схождения к корню реализуется формулой: xn+1=xn-F(xn)/F’(xn) до тех пор, пока выполняется условие: |xn+1-xn| . Метод обеспечивает быструю (квадратичную) сходимость, если (F(xo)F’’(xo))>0. В качестве xo выбирают тот конец отрезка [a,b], на котором знаки F(xo) и F’’(xo) совпадают. Выигрыш во времени вычислений за счет быстрой сходимости уменьшается из-за необходимости вычисления, помимо F(xn), производной F’(xn). Исключение составляют частные случаи, когда выражение, по которому вычисляется отношение F(xn)/F’(xn), не сложнее выражения для вычисления F(xn) отдельно.
F
модифицированный метод Ньютона заключается в нахождении приближенного значения функции F´(xn) вместо вычисления ее производной на каждом шаге итерации:
,
(1 )
где х = .
Следовательно, итерационная формула имеет вид:
(2)
Значение х не обязательно должно быть равно . Равенство х = позволяет уменьшить число исходных данных при вводе.
метод хорд. При этом методе каждое значение xn+1 находится как точка пересечения оси абсцисс с хордой, проведенной через точки F(a) и F(b), причем одна из этих точек фиксируется – та, для которой знаки F(x) и F’’(x) одинаковы.
Если неподвижен конец хорды x=a, то:
, (3)
а если неподвижен конец хорды x=b, то:
(4)
Если
|xn+1
- xn|>,
то в первом случае считаем b=xn+1
, во втором a=xn+1
и повторяем вычисления. При использовании
метода хорд полагается, что корень
находится внутри отрезка [a,
b].
Существуют и другие методы, описание которых можно найти в специальной литературе [5,12.23,27,28]. Решение систем нелинейных уравнений может выполняться описанными методами, применяемыми поочередно к каждому уравнению системы с контролем погрешности схождения каждой переменной к корню с заданной погрешностью.
метод простых итераций заключается в реализации итерационного процесса по следующей формуле xi(n+1) = fi(xi(n)), применяемой после преобразования системы нелинейных уравнений общего вида Fi(Xi)=0 к виду Xi=fi(xi), здесь i – номер переменной (1,2…N), n – номер итерации. Вычисления ведутся до тех пор, пока соблюдается условие |xn+1 - xn|>, где - заданная точность.
метод Ньютона является наиболее распространенным методом решения системы Fi(Xi)=0. Он реализуется следующим механизмом:
задаются абсолютная или относительная погрешность =Е, число уравнений N, максимальное число итераций M и вектор начальных приближений Xi0 с компонентами (x10, x20, …, xn0);
используя разложение Fi(Xi) в ряд Тейлора, формируется матрица Якоби [Fi/Xi], необходимая для расчета приращений Fi(Xi) при малом
изменении
переменных. Матрица Якоби в развернутом
виде записывается следующим образом:
(5)
Поскольку аналитическое дифференцирование Fi(Xi) в общем случае нежелательно, заменяем частные производные в матрице Якоби их приближенными конечно-разностными значениями:
,
(6)
где Hi – малое приращение Xi, например Hi = |Xi|;
составляется и решается система линейных уравнений для малых приращений xi:
x
=
(7)
Решение этой системы дает значения X1, X2, …,Xn, т.е. Xi;
вычисляются уточненные значения:
x1(n+1) = x1(n) + x1,
x2(n+1) = x2(n) + x2, (8)
………………….
Xi(n+1) = Xi(n) + Xi:
XN(n+1) = xN(n) + xN,
для всех Xi проверяется одно из условий: |Xi|>, |Xi/xi|>. Если оно выполняется, то выполняется новая итерация. Т.е. считаем вектор Xi(n+1) найденным решением.
