ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2024
Просмотров: 50
Скачиваний: 0
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ КУЗБАССКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра вычислительной техники и информационных технологий
РЕШЕНИЕ УРАВНЕНИЙ СРЕДСТВАМИ EXCEL
Методические указания к лабораторным работам по дисциплине «Информатика» для студентов специальностей
230500 «Социально–культурный сервис и туризм»,
061000 «Государственное и муниципальное управление»
Составители Е.Е. Дадонова А.Г. Пимонов М.А. Тынкевич
Утверждены на заседании кафедры Протокол № 9 от 8 апреля 2002 г.
Рекомендованы к печати учебно–методической комиссией специальности 230500 Протокол № 4 от 12 апреля 2002 г.
Электронная копия хранится в библиотеке главного корпуса ГУ КузГТУ
КЕМЕРОВО 2002
1
1. ЧИСЛЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ
Часто в классической математике многое выглядит элементарно. Так, если нужно найти экстремум некоторой функции, то предлагается взять ее производную, приравнять нулю, решить полученное уравнение и т.д. Вне сомнения, что первые два действия в состоянии выполнить многие школьники и студенты. Что касается третьего действия, то позвольте усомниться в его элементарности.
Пусть после взятия производной мы пришли к уравнению tg(x)=1/x. Проведем следующие преобразования:
tg(x)=1/x x tg(x)=1 x2 tg=1 x2= 1 / tg(x) x = ±
Если в приведённой здесь цепочке преобразований ничто не взволновало вашу мысль, то может быть лучше обучение на этом прекратить и заняться чем-нибудь другим, не требующим уровня знаний выше церковноприходской школы начала XX века.
Всамом деле, мы прекрасно решаем квадратные и биквадратные уравнения, наипростейшие тригонометрические и степенные. Еще водятся «мастодонты», знающие о существовании формул Кардано для кубических уравнений. В общем же случае надежд на простое аналитическое решение нет. Более того, доказано, что даже алгебраическое уравнение выше четвертой степени неразрешимо в элементарных функциях. Поэтому решение уравнения проводят численно в два этапа (здесь разговор идет лишь о вещественных корнях уравнения). На первом этапе производится отделение корней – поиск интервалов, в которых содержится только по одному корню. Второй этап решения связан с уточнением корня в выбранном интервале (определением значения корня с заданной точностью).
1.1.Отделение корней
Вобщем случае отделение корней уравнения f(x)=0 базируется на известной теореме, утверждающей, что если непрерывная функция f(x) на кон-
2
цах отрезка [a,b] имеет значения разных знаков, т.е. f(a)×f(b)≤0, то в указанном промежутке содержится хотя бы один корень. Например, для уравнения f(x)= x3-6x+2=0 видим, что при x→∞ f(x)>0, при x→ -∞ f(x)<0, что уже сви-
детельствует о наличии хотя бы одного корня.
В общем случае выбирают некоторый диапазон, где могут обнаружиться корни, и осуществляют «прогулку» по этому диапазону с выбранным шагом h для обнаружения перемены знаков f(x), т.е. f(x)×f(x+h)<0.
При последующем уточнении корня на обнаруженном интервале не надейтесь никогда найти точное значение и добиться обращения функции в нуль при использовании калькулятора или компьютера, где сами числа представлены ограниченным числом знаков. Здесь критерием может слу-
жить приемлемая абсолютная или относительная погрешность корня. Если корень близок к нулю, то лишь относительная погрешность даст необходимое число значащих цифр. Если же он весьма велик по абсолютной величине, то критерий абсолютной погрешности часто дает совершенно излишние верные цифры. Для функций, быстро изменяющихся в окрестности корня,
может быть привлечен и критерий: абсолютная величина значения функции
не превышает заданной допустимой погрешности.
1.2. Уточнение корней методом половинного деления (дихотомии) |
||||||
Самым простейшим из методов уточнения корней является метод по- |
||||||
ловинного деления, или f(b) y |
|
|
|
|||
метод дихотомии, пред- |
|
|
|
|
|
|
назначенный для нахож- |
0 |
a |
c0 |
c1 |
c2 b |
|
дения корней уравнений, |
||||||
представленных |
в виде |
|
|
|
c |
x |
f(a) |
|
y=f(x) |
|
|
||
f(x)=0. |
|
|
|
|
||
|
|
|
|
|
|
|
Пусть непрерывная |
|
Рис. 1. Метод деления отрезка пополам |
||||
функция f(x) на |
концах |
|
||||
|
|
|
|
|
3
отрезка [a,b] имеет значения разных знаков, т.е. f(a)×f(b) ≤ 0 (рис. 1), тогда на отрезке имеется хотя бы один корень.
Возьмем середину отрезка с=(a+b)/2. Если f(a)×f(с)≤ 0, то корень явно принадлежит отрезку от a до (a+b)/2 и в противном случае от (a+b)/2 до b.
|
|
Вычисление f(a) |
|
|
|
|
c=(a+b)/2 |
|
|
|
|
Вычисление f(c) |
|
|
a=c |
нет |
f(a)×f(с)≤0 |
да |
b=c |
Вывод c |
да |
b-a < ε |
нет |
|
|
|
|
Рис. 2. Блок-схема метода половинного деления
Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)<ε.
Так как каждое очередное вычисление середины отрезка c и значения функции f(c) сужает интервал поиска вдвое, то при исходном отрезке [a,b] и предельной погрешности ε количество вычислений n определяется условием (b-a)/2n<ε, или n~log2((b-a)/ε). Например, при исходном единичном ин-
тервале и точности порядка 6 знаков (ε 10 -6) после десятичной точки достаточно провести 20 вычислений (итераций) значений функции.
С точки зрения машинной реализации (рис. 2) этот метод наиболее прост и используется во многих стандартных программных средствах, хотя существуют и другие более эффективные по затратам времени методы.
4
1.3.Уточнение корней методом хорд
Вотличие от метода дихотомии, обращающего внимание лишь на знаки значений функции, но не на сами значения, метод хорд использует пропорциональное деление интервала (рис. 3).
y |
|
|
|
|
|
|
|
Здесь вычисляются значения функ- |
|||||
|
|
|
|
y=f(x) |
ции на концах отрезка, и строится «хор- |
||||||||
|
|
|
|
да», соединяющая точки (a,f(a)) и (b,f(b)). |
|||||||||
|
|
|
|
|
|
|
Точка пересечения ее с осью абсцисс |
||||||
a |
z0 |
z1 |
c |
b |
|
|
|
|
|
Z = a f ( b ) −b f ( a ) |
|||
0 |
|
|
|
x |
|
|
|
|
|
|
|
f ( b ) − f ( a ) |
|
|
|
|
|
|
принимается за очередное приближение |
||||||||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
к корню. Анализируя знак f(z) в сопос- |
||||||
|
Рис. 3. Метод хорд |
|
|
|
тавлении со знаком f(x) на концах отрез- |
||||||||
|
|
|
|
ка, сужаем интервал до [a,z] или [z,b] и |
|||||||||
|
|
|
|
|
|
|
|||||||
продолжаем процесс построения хорд до тех пор, пока разница между оче- |
|||||||||||||
редными приближениями не окажется достаточно малой (в пределах допус- |
|||||||||||||
тимой погрешности) Zn-Zn-1 <ε. |
|
|
|
|
|
|
|
||||||
|
Можно доказать, что истинная погрешность найденного приближения: |
||||||||||||
|
|
|
X |
* − Z |
n |
≤ M − m Z |
n |
− Z |
n − |
1 |
, |
||
|
|
|
|
|
|
m |
|
|
|
||||
где X* - корень уравнения, Zn и Zn+1 – очередные приближения, m и M – наи- |
|||||||||||||
меньшее и наибольшее значения f(x) на интервале [a,b]. |
1.4. Уточнение корней методом касательных (Ньютона)
Обширную группу методов уточнения корня представляют итерационные методы – методы последовательных приближений. Здесь в отличие от метода дихотомии задается не начальный интервал местонахождения корня, а его начальное приближение.
|
|
|
|
5 |
|
|
|
|
|
Наиболее |
популярным |
из итерационных методов является |
метод |
||||
y |
|
|
|
Ньютона (метод касательных). |
|
|
||
|
|
|
Пусть известно некоторое прибли- |
|||||
|
|
y=f(x) |
|
|||||
|
|
|
женное значение Zn корня X*. Применяя |
|||||
|
|
|
|
|||||
|
|
|
|
формулу Тейлора и ограничиваясь в ней |
||||
a |
z0 |
z2 |
b |
двумя членами, имеем |
|
|
|
|
0 |
|
|
|
f(X*) ≈ f(Zn)+ (X*-Zn) f /(Zn) = 0 , |
||||
x |
|
|
|
откуда |
|
|
|
|
|
|
|
|
X* ≈ Zn+1 = Zn - |
f ( Z |
n |
) |
. |
|
|
|
|
′ |
|
|||
Рис. 4. Метод касательных |
|
f ( Zn ) |
|
|||||
Геометрически этот метод предла- |
||||||||
гает построить касательную к кривой y=f(x) в выбранной точке x= Zn , найти |
||||||||
точку пересечения её с осью абсцисс и принять эту точку за очередное при- |
||||||||
ближение к корню (рис. 4). |
|
|
|
|
|
|
Z1 |
Z0 |
Z2 |
Z1 |
Z0 |
|
Z2 |
Z3 |
|
|
|
|
|
|
|
Рис. 5. Расходящийся процесс |
|
Рис. 6. Приближение к другому корню |
||
Очевидно, что этот метод |
обеспечивает сходящийся процесс прибли- |
жений лишь при выполнении некоторых условий (например при непрерывности и знакопостоянстве первой и второй производной функции в окрестности корня) и при их нарушении либо дает расходящийся процесс (рис. 5), либо приводит к другому корню (рис. 6).
Очевидно, что для функций, производная от которых в окрестности корня близка к нулю, использовать метод Ньютона едва ли разумно.
Если производная функции мало изменяется в окрестности корня, то можно использовать видоизменение метода