Uploaded by dimon.com.xxx

Задание СНУ

advertisement
Тема: «ЧИСЛЕННОЕ РЕШЕНИЕ
СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ»
Запишем систему нелинейных уравнений в общем виде
F1(x1,x2, . . xn) = 0;
F2(x1,x2, . xn) = 0;
...............
Fn(x1,x2, . . xn) = 0.
(1)
В отличие от систем линейных уравнений, не существует прямых
методов решения систем нелинейных уравнений в общем виде. Лишь в
отдельных случаях их можно решить аналитически. Например, для системы
двух уравнений иногда удается выразить одно неизвестное через другое и
таким образом свести задачу к одному нелинейному уравнению. Обычно
используются итерационные методы.
Метод простых итераций
Выразим неизвестные в системе (4.1) и представим ее в следующем
виде
x1 = f1(x1,x2, . . xn) ;
x2 = f2(x1,x2, . . xn) ;
................
xn = fn(x1,x2, . . xn)
(2)
Зададим начальные приближения для x1, x2, . . . xn. Подставим их в
правую часть системы (4.2). Получим значения неизвестных в следующей
итерации.
x1(k) = f1(x1(k-1),x2(k-1), . . xn(k-1)) ;
x2(k) = f2(x1(k-1),x2(k-1), . . xn(k-1)) ;
................
xn(k) = fn(x1(k-1),x2(k-1), . . xn(k-1)) ,
где k - номер итерации.
Итерационный процесс продолжается до тех пор, пока не будет
выполнено условие
| xi( k )
xi( k
1)
|
i = 1,2, . . . n,
где n - количество уравнений.
Если условие не выполняется, итерации повторяются , приняв
xi(k-1) = xi(k).
1
Для того, чтобы не проверять условие для всех уравнений, условие
окончания итераций можно записать так:
max| xi( k )
xi( k 1) |
i = 1,2, . . . n
или
n
| xi( k )
xi( k 1) |
i 1
Для сходимости решения важен выбор начального приближения. Та
область, в которой выбор начального приближения обеспечивает сходимость
численного метода, называется областью сходимости метода. Для двух
уравнений эту область можно выбрать, построив графики функций x1 = f1(x2)
и x2 = f2(x1) в координатах x1 и x2. Точку пересечения графиков можно
принять за начальное приближение. К сожалению этого не удается сделать
при большем количестве уравнений. Кроме того, при увеличении количества
уравнений, область сходимости сужается, и здесь нельзя дать общих
рекомендаций.
Алгоритм метода простых итераций
n - количество уравнений, - точность, x(n) - массив начальных приближений
неизвестных
Ввод n, , x
Начало цикла
Вычисление f1(x1,x2, . . xn)
Вычисление f2(x1,x2, . . xn)
.......................
Вычисление fn(x1,x2, . . xn)
s
| fi
xi |
x i = fi
Конец цикла, условие s >
Печать xi
2
ЗАДАНИЕ
Решить систему нелинейных уравнений методом простых итераций
с точностью Е=0,001. В качестве начального приближения взять точку X10=0,
X20=0.
Sin(X1+2)-X2=1.5
X1+Cos(X2-2)=0.5
Выполнить графическое решение.
Оформить отчет.
------------------------------------------------------------------------------------------Решение в Visial Basic for Applications
1. Привести систему к виду, удобному для итерации.
2. Переименовать Лист в СНУ.
3. Перейти в среду Visial Basic for Applications и набрать программу.
Система, приведенная к виду, удобному для итерации:
x1 = 0.5 - Cos(x2 - 2)
x2 = Sin(x1 + 2) - 1.5
Sub iter_CNY()
x10 = Val(InputBox("Ввести x10", "Ввод x10"))
x20 = Val(InputBox("Ввести x20", "Ввод x20"))
e = 0.001: K = 0
Do
x1 = 0.5 - Cos(x20 - 2)
x2 = Sin(x10 + 2) - 1.5
S = Abs(x1 - x10) + Abs(x2 - x20)
x10 = x1
x20 = x2
K=K+1
Loop While S> e
Worksheets("СНУ").Range("a2").Value = x1
Worksheets("СНУ").Range("b2").Value = x2
Worksheets("СНУ").Range("c2").Value = K
End Sub
Для запуска программы нажать на Run. Полученный результат
находится на листе CНУ в ячейках A2:C2.
x1
x2
k
1,346306 -1,70332 29
3
Графическое решение
1. Введите комментарий в ячейки
2. Введите значения от -10 до 10 с шагом 1 в ячейки E2:E22 и G2:G22
3. В F2:F22 ввод формулы = 0.5 - Cos(x2 - 2)
4. В H2:H22 ввод формулы = Sin(x1 + 2) - 1.5
5. По данным E2:F22 строим точечную диаграмму.
6. Выделяем полученную диаграмму. В контекстном меню Выбрать
данные..
7. Далее Добавить. В появившемся окне указываем следующее
4
8. Отформатировать полученную диаграмму.
5
Варианты заданий
Решить систему нелинейных уравнений с точностью до 0,001.
Принять начальное приближение в методе итераций Х 1 0; Х 2 0, в Visual
Basic for Applications (VBA), в таблице Excel.
Оформить отчет.
1.
sin( x1
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
1)
x2
2 x1
1,2
cos x 2
cos( x1 1)
x1
x2
3
2x2
cos( x 2
1)
cos x1
2 x1
0,5
cos x 2
sin x1
2
2
x1
x2
0,7
1,5
sin( x 2
0,5) 1
sin( x1
0,5)
x2
1
cos( x 2
2)
x1
0
0,5)
x2
0,8
cos( x1
sin x 2
2 x1 1,6
sin( x1 1) 1,3 x 2
x1
sin( x 2
1) 0,8
2x2
cos( x1
1) 0
x1
sin x 2
0,4
cos( x1
0,5)
sin x 2
sin( x1
x1
x2
cos( x 2
cos( x 2
x2
x1 1,2
cos x1
2
1)
0,5
x1
cos x1
3
2 x1
2
sin x 2
cos( x1 1)
cos x 2
2x2
1,5
2) 0,5
1)
2x2
2
2 x1 1
2)
sin( x 2
x2
x2
0,7
x1 1,5
sin( x1
sin( x 2
0,5)
cos( x1
2)
0,5) 1
x1 1
x2
0
16.
cos( x 2
sin x1
x2
18.
1) 0,8
2 x1
cos( x 2
1) 0
x2
sin x1
0,4
x2
0,5)
cos( x1
2) 0,5
sin( x1
1)
2 x1
29.
30.
x2
0,8
1,6
1)
x1 1
x2
1,2
sin( x 2
0,5) 2
0,5)
x2
1,2
2)
x1
0
cos( x 2
cos( x1
0,5)
sin x 2
x2
2 x1
sin( x1 1)
x1
2x2
cos( x 2
x2
1,5
1) 1
1)
x1
1
cos x1
2
1)
0,8
x1
cos x1
cos( x1 1)
sin x 2
1
2
x2
sin( x 2
sin( x 2
2
2x2
cos( x 2
1
2
cos x 2
sin( x1
28.
x2
cos x 2
sin x1
2 x1
27.
1
x1 1,5
cos x1
26.
2
2)
x1
23.
x1
2x2
cos( x1 1)
22.
25.
sin( x1
sin( x 2
21.
1,6
x1 1,3
sin x1
20.
0,8
1)
cos( x 2
19.
x1
2x2
sin( x 2
17.
24.
0,5)
2
x2
1
2 x1 1,6
6
Download