Главная » Просмотр файлов » Гурский Д., Турбина Е. - Вычисления в MathCad 12

Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 64

Файл №1077322 Гурский Д., Турбина Е. - Вычисления в MathCad 12 (Гурский Д., Турбина Е. - Вычисления в MathCad 12) 64 страницаГурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322) страница 642018-01-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 64)

Если этот метод не сходится за определенное количество итераций к решению,применяется метод Мюллера. О сути этих методов мы поговорим чуть позже.Крупным преимуществом метода секущих и метода Мюллера является то, что с их помощью можно находить комплексные корни. Обязательным условием при этом является то, что приближение также должно быть комплексным (см. пример 8.14).Пример 8.14. Численное определение комплексных корнейf(x) :=x + х+ 1solve,х /1.5000+.8660i^rl:=-4+7-iт2:=-4-7Лfloat,4"^l^-.soOO-.8660iJ root(f(rl),rl) = -0.5+0.866i root(fij2),r2) = -0.5-0.866i8.1. Решение уравнений * 2 7 5Кстати, довольно часто бывает так, что, основываясь на действительном приближении,функция root находит комплексный корень.

Это связано с тем, что в Mathcad все числарассматриваются как комплексные.При использовании метода секущих и метода Мюллера появляются дополнительныесложности, которых нет при применении методов интервалов локализации корня. Так,при наличии у уравнения нескольких корней бывает проблематично так подобратьприближение, чтобы был найден именно нужный корень. Причина — при этом не работает, казалось бы, очевидное правило, что определяться должен тот корень, которыйближе к точке приближения.

Это правило справедливо лишь, если точка приближениянаходится в окрестности корня. Иначе то, какой корень будет найден, будет зависетьв первую очередь от особенностей поведения функции. Решение этой проблемы простое: приближение нужно не «брать с потолка», а определять по графику.Во-вторых, корень уравнения методом секущих (Мюллера) может быть не найден,если начальное приближение было задано в районе экстремума или разрыва, а такжев области, в которой кривая функции имеет очень маленький наклон.Пример 8.15. Поиск корня уравнения при разных приближенияхПервый положительный корень уравнения, описываемого следующей функцией, равен я/3:f(x):=cos(3x) 5 + 1Ч~)= 0— = 1.0471975511966То, как ведет себя функция в области корня, показано на рис. 8.6.Если в качестве приближения к корню взять точку х=0 (экстремум), то численный метод к решению не сойдется.

Приближение, очень близкое к экстремуму, также не приведет к положительному результату. Ближайшая к экстремуму точка, при использовании которой в качестве приближения функция root найдет корень, это х=0.001. Однако определенный при этом корень будетрасположен очень далеко от искомого корня х=я/3:х:=0.001root(f(x),x) = 114.144104502797-0.35-0.120.11 0.34 0.58 0.81 1.04 1.27 1.5хРис. 8.6. Поведение функции вблизи первого положительного корняБольшинство точек в области от 0.001 до 0.1 при использовании их в качестве приближенияк корню или не дадут сходящейся к решению последовательности, или эта последовательностьбудет сходиться к удаленному корню. Лишь отдельные точки дадут верное решение.Большая часть точек в области от 0.1 до 0.3 дадут верное решение.

Это связано с тем, что криваяфункции в этом интервале имеет достаточный наклон по направлению к корню. Однако часть2 7 6 •:• Глава 8. Решение уравнений и систем уравненийточек будут давать или не сходящуюся последовательность, или последовательность, сходящуюся к удаленному корню.х:=0.1root(f(x),x)= 1.04761194953047х:=0.22root(f(x),x)=-8.00373139717741xl0 3В области от 0.3 до 0.8 почти все точки дают последовательность, не сходящуюся к корню. Отдельные точки приводят к решению, однако выдаваемые при этом корни очень далеки от я/3.Данные сложности обусловлены тем, что кривая в интервале (0.3, 0.8) почти горизонтальна.х:=0.57root(fi»,x) = -3.00231601851947хЮ3Все точки интервала (0.8, л/3), взятые в качестве приближения к корню, дают сходящуюся к необходимому корню последовательность.

Это связано с тем, что данная область непосредственноприлегает к корню, а также с тем, что соответствующий ей участок кривой имеет хороший наклон и лишен экстремумов и разрывов.х:=0.9root(n»,x) = 1.0467392869927Область кривой справа от корня симметрична области слева. Поэтому с точки зрения выбораприближений они идентичны.Пример 8.15 показывает, сколь сильно то, даст ли приближение сходящуюся к нужному корню последовательность или нет, зависит от особенностей поведения функции.То, почему так происходит, вы поймете, когда мы разберем принципы метода секущихи метода Мюллера.В отличие от методов интервалов локализации корня, методы секущих и Мюллерасклонны находить корни там, где их нет. Такие корни называются ложными.Пример 8.16.

Неверное решение уравнения методом секущихПопытаемся решить уравнение, заведомо не имеющее корней — е~х=0. Система находит корень. Причем, его величина резко увеличивается с уменьшением TOL.f(x):=e~ XTOL := 16"5x:=lroot(f(x), х) = 11.62512TOL:=10~root(f[x),x) = 28.26Приведенный пример показывает, насколько «глупой» может быть функция root. Попробуем разобраться, в чем же причина возникших трудностей и как можно избежатьошибок. На самом деле, все просто: как вы помните, критерий сходимости к корнюу функции root — это I f(rn)| <TOL. Функция же е х имеет одно очень вредное свойство:бесконечно близко приближаться к оси X, никогда ее не достигая. Из этого следует, чтоесли в какой-то точке гп выполняется условие I f(rn)| <TOL, то оно будет справедливо длявсех точек, лежащих правее гп А точек таких бесконечно много! Избежать же обнаружения ложных корней очень часто можно, введя дополнительно, в качестве критериясходимости к корню, условие близости двух последних приближений I гп—гй_,| <TOL.Увы, но функция root этого не делает.Чтобы не найти корень там, где функция просто сближается с осью X, опять же нужностроить график.

Вообще, действовать вслепую, численно решая уравнения, ни в коемслучае нельзя.В общем, шанс получить ошибочный ответ при использовании метода секущих (илиМюллера) очень велик. Как же этого избежать? В первую очередь, для этого нужно8.1. Решение уравнений* 277понимать, как именно функция root ищет корни. Разберем для начала более простойметод секущих. Он заключается в следующих шагах.• В качестве первой точки приближения х, определяется начальное приближение,вводимое пользователем.• Точка второго приближения х2 определяется как сумма первого приближения и величины, равной заданной точности: x2=x1+T0L• Через точки (х,, f(xf)) и (х2, f(x2) проводится секущая.

Абсцисса точки (г, f(r)), в которой она пересекает ось X, определяется как третье приближение х3. Найти х3 несложно. Для этого нужно записать уравнение прямой, проходящей через точки (х,,f(x,)) и (х2, f(x2)), приравнять его нулю и выразить х. В результате получим следующую формулу:f(x2)-f(X])Если значение функции в точке третьего приближения удовлетворяет критериямсходимости к корню, то эта точка определяется как корень.

В противном случае соответственно точкам третьего и второго приближения проводится еще одна секущая, которая дает четвертое приближение. Процесс повторяется до тех пор, покаполученная точка приближения не удовлетворит условию корня. В общем случаеформула для получения приближения на основании двух предыдущих приближений будет иметь вид:fX = Xпx( n-i)(Vi - V 2 )п-Метод секущих можно гораздо проще понять, если отобразить ход поиска корня на графике (рис. 8.7).Y t(х,Дх,)) ~/\\\0:X_ /(Хз,0)(х„0)Рис. 8.7.

Иллюстрация метода секущих. Приемлемое приближение определяется за триитерацииРеализовать метод секущих самостоятельно, используя язык программирования Mathcad,проще простого. Однако нужно учесть, что, в отличие от глобально сходящихся методов интервалов локализации корня, метод секущих при неудачном выборе начальногоприближения может породить расходящуюся последовательность. Поэтому, если количество итераций превысит некоторый максимум (несколько десятков), работу программы нужно остановить и вывести сообщение об ошибке.2 7 8 • Глава 8. Решение уравнений и систем уравненийПрограмму мы напишем так, чтобы в качестве результата она возвращала вектор из двухэлементов. Первым элементом будет найденное решение, второй элемент будет содержать вектор со всеми вычисленными в ходе поиска корня приближениями.

Анализируя, насколько быстро последовательность приближений сходится к корню, мы сможем оценить эффективность метода секущих.Secant(f,e,TOL):=while(*Plast(p)Plast(p)-1last(p)+1 ^Plast(p)-1< T 0 L A|f(Plast(p))|<T°L)*~f(b)-(b-a)f(b) - Да)error("Dont converge to a solution") if last(p) > 50Pl last( P )PПрограмма Secant несложна, но в ней есть моменты, которые стоит пояснить.• Приближения записываются в вектор р. Чтобы получить новое приближение, нужно подставить в формулу метода секущих значения последних двух приближений.Чтобы адресовать их, используем функцию last, возвращающую индекс последнегоэлемента в векторе. Также можно применить функцию length, определяющую количество элементов в векторе.• Итерации должны совершаться до тех пор, пока не выполнятся условия сходимости к корню.

Добиться этого можно, внеся соответствующий комплекс условий в заголовок цикла while и выполнив над ним операцию логического отрицания посредством оператора -..Решим с помощью функции Secant уравнение с известными корнями при разном значении TOL:f(x):=x - 2 х - 3Secant(f,0.7,105f(x) solve,х) = (-0.999999999991711 {11,1})Secant(f,0.7,108) = ( - 1 {12,1})Итак, метод секущих сходится весьма быстро. Если приближение выбрано достаточноблизко к корню, то каждая итерация уточняет результат приблизительно на полторызначимые цифры. Если же первое приближение удалено от корня, то несколько итераций уйдет на то, чтобы метод «стал на верный курс».

Анализируя векторы приближений, возвращаемые функцией Secant, можно обнаружить, что скорость сходимостивозрастает по мере продвижения к корню:(secant(f,4,104) Q } - з ) = ( l 1 0.17 0.03 1.28х 1031.хЮ53.28 х Ю" 9 )Т(Secant(f,-2,10~ 4 ) 0 j + l W - 1 -I -0.167 -0.032 -1.28xl(f 3 -1.024хЮ" 5 -3.275xlO~9)Кстати, написанная нами программа превосходит root, с точки зрения надежности функции, что связано с тем, что мы используем два критерия сходимости к корню, a root —8.1.

Решение уравнений • 2 7 9только один. Так, например, если мы попытаемся решить уравнение е~х=0 с использованием функции Secant, то будет выдано сообщение об ошибке: Dont convert to a solution.Функция же root в такой ситуации выдаст ложный корень (см. пример 8.16).Зная то, как работает метод секущих, легко понять, почему так важно правильно выбрать начальное приближение.• Начальное приближение должно быть достаточно близко к корню для того, чтобыпервая секущая была направлена в его сторону (первая секущая, ввиду малости TOL,ведет себя практически так же, как касательная к точке начального приближения).Если между приближением и корнем имеется экстремум или разрыв, то направление функции в окрестности приближения может быть таким, что секущая «уйдетв сторону».• Если приближение находится близко к экстремуму, метод секущих может не сойтись или же будет получен корень, весьма удаленный от искомого.

Характеристики

Тип файла
PDF-файл
Размер
47,8 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее