Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы численного моделирования. Учебно-методическое пособие
.pdf
41
Рис. 9. Шаблон данных для построения тренда
2) На этом же рабочем листе построить точечный график по экспериментальным точкам (B4:C10).
3) На построенный график добавить линию тренда. Для этого:
– выделить построенную кривую, щелкнув по ней мышью;
– вызвать контекстное меню, щелкнув по выделенной кривой пра-
вой клавишей мыши;
– в контекстном меню выбрать команду Добавить линию тренда…;
– выбрать один из подходящих типов линии тренда;
– в закладке Параметры отметить галочкой уравнение на диаграмме и поместить на диаграмму величину достоверности аппроксимации (должна стремиться к 1).
4) На этом же рабочем листе построить еще два эксперименталь-
ных графика и к каждому из них добавить линию тренда другого типа
с указанием уравнения и величины достоверности.
5) Выбрать из трех построенных линий тренда наиболее подходя-
щую и по ее уравнению вычислить расчетные значения выходной переменной Y
расч
в ячейках D5:D10.
2. Составить программу для вычисления параметров выбранной
зависимости по методу наименьших квадратов. Введем следующие переменные:
n – число экспериментальных точек;
X(n), Y(n) – массивы экспериментальных значений входной и вы-
ходной переменных соответственно;
Z(n), U(n) – массивы экспериментальных значений входной и выходной переменных, приведенных к линейному виду;
а1, b1 – параметры линейной зависимости;
a, b – параметры выбранной зависимости;
S1, S2, S3, S4 – суммы для системы нормальных уравнений линей-
ной зависимости;
Y1 – расчетное значение выходной переменной в текущей точке;

42
S – критерий близости экспериментальных и расчетных значений
выходной переменной;
YSR – среднее арифметическое экспериментальных значений выходной переменной;
SS – сумма квадратов отклонений экспериментальных значений
выходной переменной от их среднего арифметического;
R – коэффициент детерминации.
Вычисленные значения параметров выбранной зависимости a и b
поместить на Лист1 в ячейки D17, D18 соответственно, расчетные значения выходной переменной – в ячейки I6:I11, вычисленное значение
критерия близости – в ячейку I13, вычисленное значение коэффициента
детерминации – в ячейку G27.
Ввести и отладить программу:
Sub mnk()
REM описание всех переменных и массивов
DIM …
n = …
REM ввод массивов экспериментальных значений входной и выходной переменных из ячеек таблицы и вычисление массивов
экспериментальных значений входной и выходной переменных,
приведенных к линейному виду; вычисление среднего экспериментального значения выходной переменной
YSR = 0
FOR i = 1 to n
X(i) = …
Y(i) = …
YSR = YSR + Y(i)
Z(i) = …
U(i) = …
Next
YSR = YSR/n
REM накопление суммы квадратов отклонений эксперимен-
тальных значений выходной переменной от их среднего значения
SS = 0
FOR i = 1 to n
SS = …
NEXT
REM накопление сумм для системы линейных уравнений
S1=0: S2=0: S3=0: S4=0
FOR i = 1 to n

43
S1 = …
S2 = …
S3 = …
S4 = …
Next
REM вычисление параметров а1, b1 и a,b
a1 = …
b1 = …
a = …
b = …
REM вывод вычисленных значений параметров выбранной за-
висимости a и b в соответствующие ячейки таблицы
… = a
… = b
REM вычисление расчетных значений выходной переменной,
накопление критерия близости и вывод их в соответствующие
ячейки таблицы
S = 0
FOR i = 1 to n
Y1 =
… = Y1
S =
Next
… = S
REM вычисление коэффициента детерминации и вывод его
в ячейку таблицы
R = …
… = R
End Sub
В а р и а н т ы з а д а н и й
Таблица 3
Исходные данные
X
№ варианта
1 2 3 4 5 6 7 8 9
10
Экспериментальные значения Y
1
5,00
0,50
4,00
1,00
0,20
0,67
1,67
2,00
2,10
0,3
2
3,64
0,76
3,35
2,67
0,57
0,40
1,49
2,90
1,27
0,64
3
2,33
1,13
2,56
3,19
1,04
0,36
1,25
3,53
1,03
0,87
4
2,00
1,43
1,85
4,21
1,60
0,22
1,01
3,71
0,62
1,82
5
1,30
1,50
1,64
4,35
2,24
0,18
0,94
4,10
0,50
2,31
6
1,68
1,64
1,31
4,89
2,94
0,15
0,91
4,33
0,35
3,08

44
Ч И С Л Е Н Н О Е Р Е Ш Е Н И Е Н Е Л И Н Е Й Н О Г О
У Р А В Н Е Н И Я
Часто формулировка математической модели изучаемого процесса содержит одно или несколько нелинейных уравнений. Соответственно, на этапе исследования модели получения решения и возникает
необходимость нахождения корней нелинейного уравнения.
О с н о в н ы е э т а п ы и м е т о д ы ч и с л е н н о г о р е ш е н и я
н е л и н е й н о г о у р а в н е н и я
Функция называется алгебраической, если ее можно вычислить
для заданного значения аргумента с помощью конечного числа алгебраических действий. Примерами алгебраических функций являются
Функции, не являющиеся алгебраическими, называют трансцендентными. К ним относятся тригонометрические, показательные, лога-
рифмические и другие функции:
Нелинейное уравнение вида может быть алгебраическим
или трансцендентным в зависимости от того, какого типа функция
Если алгебраическое или трансцендентное уравнение достаточно
сложно, то его корни редко удается найти аналитическими методами.
Численное решение нелинейного уравнения заключается в использовании численных методов для приближенного нахождения
корня уравнения. В общем случае нелинейное уравнение не может быть
решено аналитически, тогда как численные методы позволяют найти
приближенное значение корня с заданной точностью.
Используя численные методы, можно решать широкий спектр нелинейных уравнений различной сложности и формы.

45
Численное решение нелинейных уравнений вида заключа-
ется в нахождении значений неизвестного х, обращающих (с заданной
точностью) уравнение в тождество, и состоит из двух основных этапов:
1. Отделение (изоляция, локализация) корней уравнения.
2. Уточнение с помощью некоторого вычислительного алгоритма
конкретного выделенного корня с заданной точностью.
Отделение корней. Для нахождения всех действительных корней
уравнения необходимо отделить (изолировать) один корень от другого.
Отделить корень уравнения – значит найти такой интервал [a, b] из об-
ласти определения функции
, внутри которого содержится только
один корень уравнения. Для реализации этого этапа используются графические или аналитические способы.
Метод графического отделения основан на построении графика
функции и определении интервалов, на которых график пересекает ось
абсцисс. Если график функции пересекает ось абсцисс более одного
раза на некотором интервале, то на этом интервале есть корни уравне-
ния. Иногда уравнение вида преобразуют к виду
и затем, построив графики функций , находят абс-
циссы точек их пересечения, которые соответствуют корням уравнения. Графические методы хотя и просты, но позволяют отделить корни
уравнения и грубо определить их значения. Аналитический способ отделения корней уравнения основан на анализе свойств функции и использовании теоремы о промежуточных значениях.
Теорема. Если непрерывная на отрезке [a, b] функция ,
определяющая уравнение , на концах отрезка [a, b] принимает
значения разных знаков, т. е. , то на этом отрезке содер-
жится хотя бы один корень уравнения. Если же функция
непрерывная строго монотонная функция (т. е. ее производная сохраняет
знак внутри отрезка [a, b]), то на этом отрезке находится единственный
корень уравнения.
Отделение корней уравнения позволяет сузить область поиска кор-
ней и упростить процесс численного решения нелинейного уравнения.
Уточнение корня. Для уточнения корня с требуемой точностью
применяется какой-либо численный метод, основанный на последовательном приближении значения корня, когда последующее приближе-
нии
находится по известному
-му приближению (начальное (ну-
левое) приближение задается пользователем исходя из каких-либо соображений). Вычисления продолжаются до тех пор, пока разность

46
между последующим (
и предыдущим значением по абсо-
лютной величине не станет меньше заданной точности (погрешности)
решения , т. е. пока не выполнится условие
. Значение,
при котором выполняется это условие, принимается за искомый корень
уравнения
.
В теории численных методов существует множество методов
уточнения корня уравнения, из которых наиболее широко применяются
метод половинного деления, метод, касательных, метод хорд, метод
простой итерации.
Метод половинного деления (метод бисекции, метод дихото-
мии). В этом методе процесс уточнения корня уравнения на
отрезке [a, b] при условии, что функция
непрерывна на этом от-
резке, заключается в следующем:
1. Задать начальные значения a и b, где a и b – границы интервала,
на котором предполагается нахождение корня уравнения .
2. Поделить отрезок [a, b] пополам, т. е. определить середину от-
резка x = (a + b) / 2.
3. Вычислить значение функции f(x) в точке середины отрезка.
4. Если f(x) близко к нулю (f(x) ≈ 0) или достаточно мало, можно
считать x приближенным значением корня уравнения и перейти
к шагу 8.
5. Если , то на отрезке [a, x] функция изме-
нила знак, т. е. корень уравнения находится на отрезке [a, x], а значит,
для дальнейшего решения можно отбросить отрезок [x, b], т. е. присвоить b = x.
6. Если , то на отрезке [a, x] функция знак
не изменяет, т. е. корня здесь нет, следовательно, корень уравнения
находится на отрезке [x, b], а значит, можно отбросить отрезок [a, x],
присвоив a = x.
7. Повторять шаги 2–6 до достижения заданной точности или
предела итераций. Точность считается достигнутой, когда длина последнего найденного отрезка станет меньше заданной точности вычисления:
. Тогда за значение корня уравнения принимают се-
редину последнего найденного отрезка: .
8. Вывести значение
, которое является приближенным значе-
нием корня уравнения f(x) = 0.

47
Метод половинного деления обладает малой скоростью сходимо-
сти, т. е. необходимо выполнить значительное число итераций (итерация – это однократное выполнение какой-либо вычислительной процедуры) для нахождения корня с заданной точностью, однако сходимость
метода всегда обеспечена.
Пример. Пусть необходимо уточнить корень уравнения
на отрезке [2; 3] с точностью методом половинного деления. За-
дан отрезок [a, b] = [2, 3], на котором необходимо уточнить корень урав-
нения.
1) Итерация 1. Находим середину отрезка .
2) Вычисляем значение функции, стоящей в левой части уравне-
ния в точках a и x:
3) Функция не сменила знак на отрезке [2; 2,5], значит, на отрезке [2; 2,5] корня нет, а следовательно, корень находится внутри отрезка [2,5; 3]. Отбрасываем отрезок [2; 2,5], переносим конец отрезка a в точку x = 2,5. Новый отрезок [a, b] = [2,5; 3] в два раза короче
исходного.
4) Проверяем, достигнута ли точность решения. Длина отрезка
Точность решения не достигнута, продолжаем решение.
5) Итерация 2. Находим середину отрезка .
6) Вычисляем значение функции, стоящей в левой части уравне-
ния в точке x:
7) Функция сменила знак на отрезке [2,5; 2,75], значит, корень находится внутри отрезка [2,5; 2,75], а на отрезке [2,75; 3] корня нет. Отбра-
сываем отрезок [2,75; 3], переносим конец отрезка b в точку x = 2,75. Но-
вый отрезок [a, b] = [2,5; 2,75] в два раза короче предыдущего.

48
8) Проверяем, достигнута ли точность решения. Длина отрезка
Точность решения не достигнута, продолжаем деление отрезка по-
полам.
9. Итерация 3. Находим середину отрезка x = (2,5 + 2,75)/2 = 2,625.
10. Вычисляем значения функции
11. Функция не сменила знак на отрезке [2,5; 2,625], отбрасываем
отрезок [2,5; 2,625], переносим конец отрезка a в точку x = 2,625. Новый
отрезок [a, b] = [2,625; 2,75].
12. Точность решения достигнута:
13. Корень уравнения принимаем равным середине последнего отрезка:
Решение с точностью до 0,2 найдено за три итерации. Графиче-
ская интерпретация хода решения показана на рис. 10.
Рис. 10. Уточнение корня методом половинного деления

49
Метод простой итерации (метод последовательных приближе-
ний). В методе простой итерации уравнение заменяется экви-
валентным уравнением с выделенным линейным членом: .
Суть метода заключается в следующем:
1. На заданном отрезке [a, b] выбрать произвольную точку х0 –
начальное приближение. Обычно за начальное приближение берется
один из концов интервала [a, b].
2. Вычислить первое приближение х
1
по формуле .
3. Полученное значение х1 принять за начальное приближение
и вычислить следующее приближение – и так далее, пока не
выполнится условие
. Последнее вычисленное значение
принимается за корень уравнения.
Итерационный процесс называется сходящимся, если при увели-
чении числа итераций можно получить х
к+1
, сколь угодно мало отлича-
ющееся от истинного значения х*.
Для сходимости метода простой итерации необходимо и доста-
точно так преобразовать уравнение к виду , чтобы
для всех значений х на отрезке [a, b] выполнялось условие:
(условие сходимости).
Если условие
выполняется на обоих концах интервала
[a, b], то за начальное приближение нужно взять тот конец интервала,
на котором
имеет меньшее значение.
Метод простой итерации при выполнении условия сходимости
сходится при любом начальном приближении, выбранном из интервала
определения функции. Метод является самоисправляющимся, т. е. отдельные ошибки (погрешности) вычислений не приводят к искажению
результата, так как они воспринимаются как новые начальные приближения.
Если условие сходимости не выполняется, то итерационный про-
цесс будет расходиться.
Пример. Пусть необходимо уточнить корень уравнения
на отрезке [1,9; 3] с точностью методом простой итерации.
1) Преобразуем уравнение к эквивалентному виду:

50
2) Проверяем условие сходимости:
Условие сходимости выполняется на обоих концах отрезка [1,9; 3]. За
начальное приближение корня принимаем
3) Итерация 1. Вычисляем первое приближение корня:
4) Проверяем, достигнута ли точность решения:
Заданная точность решения достигнута. Корень уравнения принимаем
равным 2,8845.
Решение с точностью до 0,2 получено за одну итерацию. Графи-
ческая интерпретация хода решения показана на рис. 11.
Рис. 11. Уточнение корня методом простой итерации
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
