Файл: Методические указания по выполнению лабораторных работ по дисциплине "Вычислительные методы в инженерных расчетах".pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 60
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
12
Рисунок 2.1 – График заданной функции
Используя метод касательных (рисунок 2.2) уточним корень функции на отрезке [0,1].
Рисунок 2.2 – Блок-схема метода Ньютона (метод касательных)
Идея метода основывается на построении касательной, проводимой на отрезке, в пределах которого находится корень функции. Уравнение касатель-
Начало
а, b, е
a
x
0
n=1
1
x
,
n
Конец
e
x
x
0 1
да нет
)
0 0
0 1
(
'
)
(
x
f
x
f
x
x
x
0
=x
1
n=n+1
13 ной находится по координате одной точки и углу наклона и записывается сле- дующим образом:
)
(
)
(
'
1
i
i
i
i
x
f
x
f
x
x
(2.1)
Для решения методом необходимо определить первую производную функции f(x)=-3х
2
+10x+1.
Все вычисления представлены в таблице 2.2.
Таблица 2.1 – Результаты вычислений
Итерация
x
i
f(x
i
)
f’(x
i
)
x
i
-x
i-1
0 0
-2 1
1 2
12 9
2 2
0,667 0,594 6,335 1,333 3
0,570 0,0095 5,725 0,093 4
0,568 0,002
Корень уравнения х
0,568.
Теперь, используя метод хорд, определим корень уравнения на отрезке
[0,5; 1]. Алгоритм метода представлен формулой (2.2), блок-схемой (рисунок
2.3) и примером вычисления в среде MathCad (рисунок 2.4).
(2.2)
Рисунок 2.4 – Реализация метода хорд в MathCad
14
Рисунок 2.3 – Блок-схема метода хорд (метод секущих)
Корень уравнения х
0,568
Метод сканирования
Метод предусматривает разделение всего интервала [а, b], где отделен корень, на маленькие отрезки, равные заданной погрешности
, с последую- щим вычислением (или определением экспериментально) значений функции да нет
Начало
а, b, е
b
x
a
x
1 0
2
x
Конец
e
x
x
1 2
)
0
)
1 0
1 1
1 2
(
(
)
)(
(
x
f
x
f
x
x
x
f
x
x
x
0
=x
1
x
1
=x
2
15
f(x) на концах этих отрезков (т.е. в точках, расстояние между которыми не пре- вышает величины
).
Блок-схема метода представлена на рисунке 2.5, расчет в таблице 2.2.
Рисунок 2.5 - Блок-схема метода сканирования
Таблица 2.2 – Расчет методом сканирования
x
f(x)
0,55
-0,10388 0,551
-0,09828 0,552
-0,09268 0,553
-0,08707 0,554
-0,08145 0,555
-0,07583 0,556
-0,0702 0,557
-0,06456 0,558
-0,05892
Начало
а, b, е
a
x
e
b
a
n
I=1, n
f(x)*f(x+e)
<0
нет да
2 2
*
e
x
x
*
x
Конец на отрезке a, b корней нет
16 0,559
-0,05327 0,56
-0,04762 0,561
-0,04195 0,562
-0,03628 0,563
-0,03061 0,564
-0,02493 0,565
-0,01924 0,566
-0,01354 0,567
-0,00784
0>
0,568
-0,00213
0,569
0,003585
Корень уравнения х
0,568.
Метод деления отрезка пополам
Этот метод можно рассматривать как развитие метода сканирования: вели- чина отрезков становится равной половине исходного отрезка [а, b]. В этом случае сначала исходный отрезок делится на две равные части (пополам) и путем сравне- ния знаков функции на концах каждой из двух половинок (например, по знаку произведения значений функций на концах) определяют ту половинку, в которой содержится решение (знаки функции на концах должны быть разные). Затем найденную половинку опять делят на две равные части, снова выбирают одну из двух половинок, содержащую корень, и т.д.
Если
Блок-схема метода представлена на рисунке 2.6.
Выполним аналитическое решение методом поло- винного деления
1)
2)
3)
4)
17 5)
6)
7)
Рисунок 2.6 – Блок-схема метода половинного деления (метод дихотомии)
x=a
Начало
а, b, е
2
b
a
x
f(a)*f(x)
<0
нет да
2
*
b
a
x
*
x
Конец
x=b
e
a
b
да нет
18
Так как,
Решение нелинейного уравнения (НУ) методом дихотомии с помощью
MathCad представлено на рисунке 2.7.
Рисунок 2.7- Решение НУ методом дихотомии с помощью MathCad
Метод параболической аппроксимации
Решим нелинейное уравнений методом параболической аппроксимации вида
Построим график функции
(рисунок 2.8).
Рисунок 2.8 – График функции
Произведем отделение корней, из графика видим, что функция пересекает ось ОX один раз на отрезке
. Далее выполним уточнение корня.
Первым шагом просчитываем середину выбранного интервала. По трем точкам (границы и середина промежутка) будем строить первую параболу. Для нахождения коэффициентов квадратного многочлена составим и решим систе- му из трех уравнений. Далее подставляем полученные коэффициенты в парабо- лу и решаем уравнение вида
. Полученный корень – это новая точка, через которую будет проходить вторая парабола.
Решение произведено в программе MathCAD (рисунок 2.9).
19
Рисунок 2.9 – Метод параболической аппроксимации (1 итерация)
Следующим шагом переопределяем точки, через которые будет прохо- дить вторая парабола. После этого проделываем все те же шаги что и первой итерации. После нахождения корня новой параболы проверяем разницу между найденным корнем и корнем, который был найден в предыдущей итерации (ри- сунок 2.10). Разница больше заданной точности, поэтому находим следующую параболу.
Рисунок 2.10 – Метод параболической аппроксимации (2 итерация)
20
Проделываем все те же шаги и в третьей итерации (рисунок 2.11). Прове- ряя разницу между корнями, видим, что она меньше заданной точности. Это значит, что мы решили уравнение и его корень равен
Рисунок 2.11 – Метод параболической аппроксимации (3 итерация)
Для наглядности итераций построим график, на котором будут отмечены заданная функция и полученные параболы (рисунок 2.12).
Рисунок 2.12 – График результатов
Метод простой итерации
Вычислить методом простой итерации корень уравнения sin(x)-x+0.25=0
Для нахождения корня на отрезке [1, 2] преобразуем уравнение f(x)= 0 к виду
(x)= х, получим х=sin(x)+0.25 и проверим на сходимость
, так как условие выполняется для любых значений на заданном отрезке, то решение можно получить методом простой итерации.
Алгоритм метода простой итерации представлен на рисунке 2.13.
21
Рисунок 2.13 – Метод простой итерации без учета проверки на сходи- мость
Решение выполним в MathCaD, результат представлен на рисунке 2.14.
Рисунок 2.14 – Решение методом простой итерации
Корень уравнения получим х
1.171
Начало
а, b, е
x ,
n
Конец
e
x
x
0
нет
x
0
=a
n=1
)
(
0
x
x
да
x
0
=x
n=n+1
22
2.3 Варианты заданий
1. а) Метод Ньютона: x
3
- 0.1x
2
+ 0.4x + 1.2 = 0 б) Метод дихотомии: ctg x - x/2=0 в) Метод сканирования: x
2
- 8x + 3 = 0 2. а) Метод секущих x
3
- 3x
2
+ 6x + 3 = 0 б) Метод простой итерации
x
+ cos(0.387x)-2 = 0 в) Метод Ньютона x
2
- 6x + 4 = 0 3. а) Метод дихотомии: x
3
- 0.1x
2
+ 0.4x - 1.5 = 0 б) Метод секущих: x
2
-4sin x = 0 в) Метод простой итерации: x
2
- 7x + 4 = 0 4. а) Метод Ньютона: x
3
- 0.1x
2
+ 0.4x + 1.2 = 0 б) Метод простой итерации: x lg x - 1.2 = 0 в) Метод сканирования: x
2
- 4x - 4 = 0 5. а) Метод Ньютона: x
3
- 6x - 8 = 0 б) Метод простой итерации: tg (0.4x +0.4) = x
2
в) метод хорд: x
2
- 9x + 3 = 0 6. а) Метод секущих: sin x
2
- 6x + 5 = 0 б) Метод простой итерации: x
3
- 0.1x
2
+ 0.4x - 1.2 = 0 в) Метод Ньютона: x
2
- 4x - 6 = 0 7. а) Метод дихотомии: x
3
- 3x
2
+ 6x - 5 = 0 б) Метод Ньютона: ctg1.05x - x
2
= 0 в) Метод простой итерации: 3x
2
- 7x - 4 = 0 8. а) Метод секущих: x
3
- 3x
2
+ 9x - 8 = 0 б) Метод дихотомии: x - sin x = 0.25 в) Метод ньютона: 3x
2
- 8x - 2 = 0 9. а) Метод дихотомии: x
3
- 0.1x
2
+ 0.4x - 1.5 = 0 б) Метод Ньютона: tg (0.58x + 0.1) = x
2
в) Метод сканирования: 2x
2
- 6x + 3 = 0 10. а) Метод секущих: x
3
- 3x
2
+ 12x - 9 = 0 б) Метод простой итерации: tg (0.5x + 0.2) = x
2
в) Метод Ньютона: x
2
- 9x + 2 = 0
Дополнительное задание
При изучении частот колебаний балки, закрепленной с одного конца, возникает трансцендентное уравнение COS(KL)CH(KL)= -1.
Найдите три наименьших решения этого уравнения.
2.4 Контрольные вопросы
Для чего применяют алгоритм отделения корней?
Какой из методов эффективнее с точки зрения времени счета и количе- ства итерации?
Когда метод Ньютона вырождается?
Как выбор начального приближения может отразиться на конечном ре- зультате?
Приведите примеры из других дисциплин, где приходится решать нели- нейные уравнения.
23 3 ЛАБОРАТОРНАЯ РАБОТА № 3. МЕТОДЫ РЕШЕНИЯ СИСТЕМ
ЛИНЕЙНЫХ УРАВНЕНИЙ
Цель работы: Изучение численных методов для решения систем линей- ных уравнений, умение применять их для решения конкретных технических за- дач, использовать при выполнении курсовых и выпускных работ.
3.1 Порядок выполнения
Изучить теоретический материал по теме “Методы решения систем ли- нейных уравнений “. Подготовить краткое описание темы.
Выполнить сравнительный анализ точных и приближенных методов.
Разработать алгоритм задания полученного варианта.
Составить и отладить программу на языке программирования.
Проверить программу с помощью тестового примера.
Выполнить решение в среде MathCad.
Проанализировать полученные результаты.
Составить отчет по лабораторной работе.
3.2 Контрольный пример
Метод простой итерации
Пример. Дана системалинейных алгебраических уравнений (СЛАУ) необходимо решить методом простой итерации.
Условия сходимости метода представлено в форме выполнения одного из следующих соотношений:
n
j
ij
i
n
i
ij
j
C
C
C
C
1 2
1 1
1
max
,
1
max
(3.1)
Условие сходимости для заданной системы выполняется, значит СЛАУ может быть решена методом простой итерации. Выразим
Зададим
24 и т.д.
Результаты сведем в таблицу 3.1.
Таблица 3.1 – Результаты расчетов
№ итерации
x
1
x
2
x
3
2 6,371 12,942
-1,799 3
6,755 8,865
-3,448 4
5,241 8,261
-2,946 5
4,848 9,143
-2,441 6
5,197 9,456
-2,483 7
5,366 9,281
-2,630 8
5,300 9,159
-2,644 9
5,242 9,189
-2,607 10 5,250 9,227
-2,596 11 5,267 9,226
-2,605 12 5,268 9,215
-2,609 13 5,267 9,123
-2,607 14 5,264 9,216
-2,606
Условие выполняется для всех , следовательно, ответ найден.
Теперь повторим алгоритм решения СЛАУ (рисунок 3.1) методом про- стой итерации выполним в MathCad (рисунок 3.2).
Рисунок 3.1 – Блок-схема метода простой итерации для решения СЛУ
25
Рисунок 3.2 – Решение СЛАУ методом простой итерации в MathCad
Начало n, A(N,N), B(N), E
I=1,N
S=0
J=1,N
S=S+a(I,J) нет да
I<>J
нет
Выполните пере- становку и по- вторите ввод
I=1,N
X(I)=0
1
да
|a(I,I)|<|S|
1
I=1,N
S
1
=0
S
2
=0
J=1,I-1
S
1
=S
1
+a(I,J)*x
1
(I)
J=I+1,N
S
2
=S
2
+a(I,J)*x(I) x
1
(I)=1/(a(I,I)*(b(I)-S
1
-S
2
)
I=1,N
|x
1
(I)-x(I)|
x(I)=x
1
(I)
да
I=1,N x
1
(I)
Конец
26
Метод Зейделя
Пример. Рассмотрим предыдущий пример. Приведем только таблицу значе- ний на нескольких первых итерациях, так как все остальное будет то же самое
(таблице 3.2).
Таблица 3.2 – Результаты расчетов
№ итерации
x
1
x
2
x
3
1 0,182 12,409
-1,783 2
6,711 8,699
-2,906 3
5,060 9,244
-2,557 4
5,268 9,227
-2,609 5
5,270 9,213
-2,607 6
5,262 9,217
-2,606 7
5,264 9,216
-2,607
Как нетрудно заметить, в данном случае последовательность быстрее схо- дится к решению.
3.3 Варианты заданий
1 вариант
0.93
-
0.43 32 0
0.43
-
1.72
-
64 0
0.84
-
0.53 17 2
A
48 0
15 0
15 1
b
3 2
1
x
x
x
x
Решить систему
b
x
A
методом Зейделя с точностью
=10
-4 2 вариант
7.04 1.53 21 3
2.05 4.21 64 0
3.75 2.11 5
11
A
23 5
01 1
38 6
b
3 2
1
x
x
x
x
Решить систему
b
x
A
методом простой итерации с точностью
=10
-5 3 вариант
2,13 4,25
-
21
,
3 0.62
-
1.4
-
43 0
2,23
-
1,17 09
,
7
A
06
,
5 05
,
1 75
,
4
b
3 2
1
x
x
x
x
Решить систему
b
x
A
методом Зейделя с точностью
=10
-4 4 вариант
2,01 0,81 71
,
0 5,11 12,15
-
14
,
1 1,05 1,13
-
21
,
4
A
17
,
0 16
,
4 15
,
6
b
3 2
1
x
x
x
x
Решить систему
b
x
A
методом простой итерации с точностью
=10
-5