Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 75
Текст из файла (страница 75)
Таким образом, те выводы, которые были сделаны нами в предыдущих подразделах для функции find, можно абсолютно спокойно распространить и на функцию3 2 4 •:• Глава 8. Решение уравнений и систем уравненийminerr, единственным отличием принципов работы которой является другое условиепрекращения итераций. Так, функция minerr возвратит последние приближения приисчерпании лимита на итерации и вычислительные ошибки вне зависимости от того,удовлетворяют ли они критериям сходимости к корню или же нет.Очень часто функция minerr оказывается способной найти те корни, которые не можетопределить find. Поэтому ее рекомендуется применять тогда, когда find оказывается HI;на высоте.
Однако при этом необходимо обязательно осуществлять проверку найденных корней.Сравним работу функций find и minerr при решении уравнения х 2 +у 2 =0. Уравнение этоимеет только один корень (х=0, у=0) и является частным случаем функции, дающейповерхность в виде параболоида (рис. 8.15).Рис. 8.15. Поверхность имеет с плоскостью X0Y лишь одну общую точкуОсобенностью нуля данной функции является то, что он относится по типу к касанию.Это вообще-то довольно трудная ситуация для любого из численных методов (особенно градиентных) и будет хорошей проверкой для обеих функций:х:=1у:=1Givenх:=1у:=1Givenх + у =Оfind(x,y) =minerr (x, у) =На этот раз find и minerr оказались на высоте и нашли решение верно.
Но если попробо22вать решить аналогичное данному уравнение вида k-x +y =0 при большом значении к(например, 1000), то упомянутый параболоид столь исказится, что найти корень с помощью функции find не получится ни при каком приближении, кроме х=0, у=0 (но этонельзя назвать успехом, поскольку при таких начальных точках происходит «прямоепопадание»).
А функция minerr справится с этой задачей легко.8.2. Решение систем уравнений* 325Однако решение уравнений с двумя неизвестными — это не главная задача функцииminerr. Куда более важной с практической точки зрения является возможность ееприменения для поиска точки минимальной невязки несовместной системы. Практически важный случай таких систем связан с решением задач регрессии по методу наименьших квадратов.Пример 8.34. Определение параметров нелинейной зависимостиметодом наименьших квадратовСуществует система, совершающая затухающие колебания.
Нужно определить, какимзаконом можно описать данную систему, если известно общее уравнение затухающихколебаний. Оно имеет вид:Y=Asin(k-t)-e~ b tИтак, необходимо узнать, чему равны параметры A, k, t. Для этого воспользуемся следующими экспериментальными данными:•t:= (0 1 2 3 4 5 6 7 8 9 10) Ту : = ( 0 4.381 1.084 -2.336 -1.252 1.023 1.298 -0.537 -0.954 0.024 0.749)ТЗадаем функцию четырех переменных на основании общей формулы затухающих колебаний:Y(t,A,k,b) := A-sin(k-t)-e"ЫЗадаем функцию метода наименьших квадратов. Она определяется как сумма квадратов отклонений экспериментальных данных от истинных значений зависимости приданных величинах аргумента.last(t)last(t)Y_err(t,A,k,b):= £(Y(t.,A,k,b)-у. Ji=0Если экспериментальные данные были получены без погрешности, то правильныйподбор параметров A, k, b приведет к тому, что функция Y_err будет равна 0.
Если жепогрешность имеется, то Y_err при этом минимизируется. В первом случае параметрымогут быть определены как с помощью функции find, так и Minerr. Во втором случаеможно использовать только Minerr. Так как в наших данных есть довольно заметнаяпогрешность, применяем Minerr.А:=4к:=1Ь:=0^5GivenY_en(t,A,k,b) = 0Л5.418Minen(A,k,b) =1.403V 0.2221.403326 •Глава 8.
Решение уравнений и систем уравненийСтроим график, чтобы убедиться, что экспериментальные данные хорошо ложатся накривую, параметры которой были найдены функцией Minerr (рис. 8.16).Y(z,A,k,b)У• D10Рис. 8.16. Регрессивная кривая и экспериментальные точкиВ Mathcad 12 появилась новая системная переменная ERR. Данная переменная хранитсумму квадратов ошибок решений, найденных Minerr. По значению данной переменнойможно судить, насколько приблизительно были найдены корни. Если корни былиопределены точно, то ERR равна 0.Глава 9. Решение неравенствНеравенства — это, пожалуй, самая сложная тема школьной программы по математике.
Научиться хорошо их решать очень и очень непросто. До определенной степени решение неравенств схоже с поиском корней уравнений. Однако в случае неравенствдело осложняется тем, что, по сути, необходимо исследовать поведение функции навсей числовой оси, что требует очень хорошего знания математических приемов и развитой логики. Система Mathcad способна помочь в непростом деле решения неравенств. Однако ни в коем случае нельзя полагаться на программу целиком. Неравенства — это слишком тонкий предмет, чтобы можно было требовать многого от линейномыслящей машины.
Решая неравенства, Mathcad нередко ошибается или просто несправляется с задачей. Поэтому, получив ответ, его обязательно нужно проверить пографику. Если же программа окажется в тупике, следует попытаться ей помочь, вручную преобразовав неравенство в более простую форму. Сложные неравенства обычнооказываются Mathcad «не по зубам». В таких случаях вы должны вспомнить, чему васучили на занятиях, и попытаться решить задачу самостоятельно. Mathcad же можетвам при этом помочь, выполняя такие рутинные операции, как упрощение выражений,решение промежуточных уравнений или построение графика. В этой небольшой главемы попытаемся на примерах разобраться, на что же реально способен Mathcad в области решения неравенств.Для аналитического решения неравенств в Mathcad используется тот же самый оператор панели Symbolic (Символьные), что и для решения уравнений и систем уравнений, — solve.
Неравенство прописывается в его правом маркере, переменная, относительно которой оно должно быть решено, — в левом. Операторы сравнения можноввести как с клавиатуры (знаки «<» и «>» можно задать напрямую, знак «>» — сочетанием Ctrl+O, знак «<» — сочетанием Ctrl+9), так и с помощью панели Boolean (Булевы).Приведем примеры решения нескольких неравенств, выраженных простыми алгебраическими выражениями. С такими неравенствами Mathcad справляется эффективнеевсего.Пример 9 . 1 . Решение неравенств, выраженных полиномамии отношениями полиномовх<-3(x+ 3)-(5-x)2х-5^ 0 solve,x ->328Глава 9.
Решение неравенствОтвет в стандартной форме: хе (-<»; -3) и (2,5; 5).х< -42х -(2х-9)(х-1)5(х+4) -(2х-6)х=03< 0 solve,х —>4(3 < х ) | х < -Ответ в стандартной форме: хе (-«>; -4) и 0 и [1; 3) и (3; 4,5].х + х + 1 > 0 solve, х —> 'XОтвет в стандартной форме: хе R.1solve, a —>а<22<а3а -:а - 4а + 4Ответ в стандартной форме: а*2 или ае (-«>; 2) и (2; °°).Как вы уже, наверное, заметили, Mathcad выдает ответы в несколько отличном от принятого в нашей математике виде.
Поэтому зачастую самой трудной частью работы присимвольном решении неравенств является интерпретация результата. Тут нужно запомнить несколько правил.• Ответ оператор solve возвращает в виде вектора, содержащего элементарные неравенства. Каждое такое неравенство описывает область, в которой решаемое неравенство справедливо. Если область открытая (то есть одной из ее границ являетсябесконечность), то задающее ее элементарное неравенство будет иметь вид х>а илих<а. В стандартном виде такие области запишутся как хе (а; °°) или хе (-<»; а). Еслиобласть замкнута и ее границам соответствуют значения аргумента а и Ь, то она будет описана элементарным неравенством вида (а<х)-(х<Ь).
В стандартном виде этазапись будет выглядеть как хе (а,Ь).•Области в векторе ответа будут расположены строго в направлении числовой оси.Поэтому преобразовывать в стандартную форму его можно чисто механически, сохраняя исходный порядок областей. Для объединения обозначений областей в одновыражение используется символ «и».
К примеру, следующий вектор элементарныхнеравенствх< 1(2<х)-(х<3)4 <хв стандартной форме запишется как хе (-«>; 1) и (2; 3) и (4; » ) . Знак умножения,стоящий в решении между элементарными неравенствами, эквивалентен логическому «И». Mathcad же, анализируя логическое выражение, возвращает 1, если онооказывается истинным, и 0 в случае невыполнения его условия. Так, если оба элементарных неравенства верны, решение исходного неравенства также верно: 1-1=1.Если же условие хотя бы одного из них не выполняется, решение неравенства будет ложным: 1-0=0, 0-1=0.Глава 9.
Решение неравенств * 3 2 9•Нужно внимательно следить, используются ли в описывающем область элементарном неравенстве операторы «больше» и «меньше» («<» и <<>») или же «больше илиравно» и «меньше или равно» («<» и «>»). В первом случае точку границы не нужно включать в область, во втором — нужно.
Если граничная точка входит в область,то в стандартной форме ее записи используется квадратная скобка, если не входит — круглая. Например, неравенство (3<х)-(х<9) в стандартную форму записи решения неравенства преобразуется какхе (3;9].• Если в решение неравенства входит отдельная точка а, то Mathcad использует обозначение х=а (см.
второе неравенство в примере 9.1).• Если неравенство выполняется при любых значениях аргумента, то в качестве ответа программа возвратит сам аргумент (см. третье неравенство в примере 9.1).• Если неравенство не выполняется при любых значениях аргумента, то Mathcad возвратит сообщение об ошибке: No solution was found (He было найдено решения).Однако полностью полагаться на это сообщение ни в коем случае нельзя. Вполневероятно, что программа просто не смогла справиться с задачей.