Матросов А.В. Maple 6. Решение задач высшей математики и механики (1185909), страница 26
Текст из файла (страница 26)
(В этом можно убедиться, выполнив команду зьопс) 11).) Подобные переменные используются Мар!е для представления всех решений тригонометрических уравнений. Префикс г в имени переменной, сгенерированной Мар)е, служит указанием того, что эта переменная может принимать только целые значения. Кроме указанных переменных также использую~ся переменные с префиксом и)у, принимающие неотрицательные целые значения, и префиксом в, для представления переменных с двоичной областью значений (о или 1). Замечание Решение любого трансцендентного уравнения, в том числе и тришнометрического, достаточно сложная и серьезная проблема для систем аналитических вычислений. Иногда простое трансцендентное уравнение может и не решаться в Мар)е, В таких случаях следует всегда помнить о том, что Мар)е использует алгоритмический подход для решения уравнений, и, возможно, ему следует помочь, сделав кое-какие не стандартные преобразования уравнения, приведя его к другому виду, Когда мы вручную решаем уравнения или системы уравнений, то после получения ответа мы всегда осуществляем проверку полученного решения, подставляя его в исходное уравнение или систему.
Точно также следует поступать и при работе в Мар!е. И решения, получаемые в виде последовательностей множеств, когда уравнение или система уравнений заданы в виде множеств, оказываются самыми подходящими для этих целей. Наиболее удобным и подходящим методом проверки решений является использование функции ета11). Пусть мы решили, например, систему уравнений: > еяпз."=)х+2*у=э,у+1/х=1); 1 еуи:= (х е 2 у = 3, у е — = 1 ) х > зо1зг=зо1те )еяпз, (х, у) ) г 1 хо(з:=(х=-!,у=2), (х=2,у=-) 2 Последовательность множеств, представляющих два полученных решения, сохранена в переменной зо1з. Теперь, чтобы проверить правильность полученных решений, следует подставить их в исходную систему и вычислить полученные выражения с помощью команды е а11): 139 Глава 2 Основные обьекгы и команды > еча1(ес(па,ао15[11)) (1=1,3=3) > еча1 (еяпа, 5515 [21 ) ) (1=1,3=3) Как видим, в результате вычисления системы уравнений на двух полученных решениях мы получили тождества, что говорит о правильности наших решений.
Если нам для дальнейших вычислений необходимо иметь значения первого решения в виде отдельных переменных, то той же самой командой еча1() МОжнО ИЗВЛЕЧЬ их, вычислив, соответственно, неизвестную х и у на первом решении: > х1:=еча). (х, ао15 [1] ); х1:= -1 > у1:=еча1(у,5о15[2)): у1:=— 2 Для проверки решения можно использовать функцию пар() вместе с функцией апьа() „которая за одну операцию выполнит проверку всех решений. Это методика достаточно удобна, особенно тогда, когда решений очень МНОГО И ДЛЯ КажДОГО ИЗ НИХ ПРИШЛОСЬ бЫ ВЫПОЛНЯТЬ КОМаНДУ ечат(;, ЕСЛИ использовать предыдущий подход. Для решения нашей системы вызов команды саар () выглядит так: > псар (55)>5 [55151 ес[па) ) ((1=1,3=3),(1=1,3=3)) Команда ао1че() может решать неопределенные системы уравнений, в которых количество уравнений меньше числа неизвестных.
В этом случае система Мар[е сама решает, какие из неизвестных принять за параметры, а какие за неизвестные, относительно которых следует строить решение: > еяп1:=х+2*у+3*5+4*1=41: > еяп2:=5*к+5'у+4*5+3'с=20: > ао15с=ао1че((еяп1,ес(п21); !1 17 7 14 5515:= (у= 37- — с- — их=-ЗЗ е-с+ — (,г==, 1=1) 5 5 ' 5 5 Здесь решение получено в параметрической форме относительно неизвестных 2 и 1, которые выбраны системой. Можно явно указать, относительно каких неизвестных следует решать систему уравнений, тогда оставшиеся будут рассматриваться как параметры: > ао151 с=хо)че((еяп1, еяп2), (У, 51) ) 5 165 11 104 55151:= (х = -х+ — — 2 1 у = — — х — — + () 7 7 ' 7 7 Часть!.
Основы Мар1в 540 В этом решении явно указаны неизвестные у и 8, и полученное решение зависит от двух параметров х и 1. С помощью функции еча1() можно вычислить значения решения при конкретных значениях параметров и даже выделить их в отдельные переменные: > еча1 (ао1а1, (х=1, с=1) ); 156 -108 (х= —.у= — ) 7 ' 7 > х1:=еча1(х,ао1а1) 7 14 х1;= -33 + - х е — 1 5 5 > у1(1,1)) 11 104 — — х(1, 1) — — + г(1, 1) 7 ' 7 Однако выделенное решение не совсем удобно для дальнейшего применения: оно не является функцией своих параметров и каждый раз, когда необходимо вычислить его при каких-то значениях параметров, необходимо обращатЬСя К фуНКцИИ еча1().
ХОТЕЛОСЬ бЫ ПОЛуЧИтЬ ЕГО В ВИДЕ фуНКцИИ От двуХ ПсрЕМЕННЫХ. ДЛЯ ЭТОГО СЛЕдуст ВОСПОЛЬЗОВатЬСя КОМаидОй оаарр1у(), которая преобразует выражение в функцию. Первым параметром задается само выражение, а последующие определяют, от каких переменных эта функция будет зависеть: > у1:=ееарр1у(у1,х,е) 11 104 у1:= (х,() -+ — — х — — +1 7 7 > у1(1,1); -108 7 > х1:=иоарр1у(еча1(х,ао1а1),х,г)) 5 165 х!:= ( х, 1) -+ - х + — — 2 1 7 7 > х1(1,1) г 156 7 Если при решении систем уравнений ответ получается в виде множества уравнений, в которых левая часть является неизвестной переменной, то лля того, чтобы присвоить найденные значения переменным, относительно которых решалась система, следует применять команду аввгяа(). Эта команда присваивает переменным, стоящим в левой части уравнений из множества решений, значения, равные правым частям.
Об этой команде можно мыслить как о команде, которая заменяет знак равенства (=) на знак операции 141 Глава е. Основные обьекты и команды присваивания (:=) во множестве, состоящем из уравнений, в которых левые части представлены неизвестными: > (Ч=а+Ь,и=у-р); ( с1 = а + Ь, н = я + д ) > еввгдп(%))Чсн) а+Ь > еЧ:=х*а+у*Ь=о) еа:= х а+ у Ь = с > е: =во1че ( [ес(, х+у=1 ), (х, у ) ); Ь вЂ” с а — Ь а — с е;= (у = — —,х= > авв1дп(в) ) х; у) Ь вЂ” с а — Ь а — с а-Ь Если решение получено в виде последовательности выражений, то получить значение соответствующего решения можно с помощью индекса.
> еЧ:=х"4+2*х"2+1=0; ес):=х е 2 х~+ ) = О > в:=во1че(еЧ) > х1:=5[2)) х1; х1:= — 1 Напомним, что в приведенном примере 1 означает комплексную мнимую единицу, равную (-). 2.4.2. Команда ФеоЬеО Гао1че(уравнения, переменные, опция) По умолчанию Мар(е пытается найти аналитическое выражение для корней уравнения. Если это ему не удается, то, как отмечалось выше, он просто ничего не печатает в области вывода.
В подобных случаях (если корни действительно существуют) можно воспользоваться командой гво1че(), которая нахолит численное решение уравнения или системы уравнений. Формат КОМаИДЫ ОтЛИЧаЕтСЯ От фОРМата КОМаНдЫ во1 е() НаЛИЧИЕМ трЕтЬЕГО Параметра опция.' Часть! Основы Мар)е 142 Задание первых двух параметров соответствует заданию аналогичных пара- метров в команде во1че(), а параметр опция может принимать значения из табл.
2.7. Смысл Значение а..Ь или х=а..Ь По умолчанию для произвольного уравнения эта функция находит одно решение, но для полиномов определяются все действительные корни. Чтобы найти все корни полинома, включая комплексные, следует задать опцию соир1ех, Использование команды численного решения уравнений показано в примере 2.51. > еЧ:=х"4з2*х"2-1=0; вч:= х' + 2 х' — 1 = 0 > вт=бзо1че(еч,х); в г -.6435942529,.6435942529 > в:=Гво1не(ец,х,сопр1ех); в:= -,6435942529,-1.553773974 б 1.553773974 У,.6435942529 > Гво'че (1п (втп (х) ) =О,х); 1.570796327 > Гво1те(1п(в1п(х) ) О,х,х 2..1п51п1ту) ' 14,1 3716694 > Гво1чейп(в1п(х) ) =О,х,х 15..1птгпгту); 20.42035225 В этом примере также показано, каким образом можно последовательно на- ходить корни произвольного уравнения, задавая интервал изменения неиз- вестной величины с учетом полученного решения на предыдущем шаге на- хождения корня (последние три команды).
совз>1ех Гц11с(1911 в Иахво1в=п Таблица 2.7. Значения параметра опц команды г 1иа () Разыскиваются комплексные корни (только для полиномов) Используется арифметика с максимальной мантиссой Разыскивается и решений (только для полиномов) Задан промежуток (а,Ь], на котором разыскивается решение (во второй форме задания этой опции х обозначает имя неизвестной переменной в уравнении) 143 Глава 2.
Основные обьакгы н команды 2.4.3. Другие команды решения уравнений Кроме универсальных команд зо1ее() И Гзот е () РЕШЕНИЯ УРавнений и систем уравнений, Мар!е содержит специализированные команды, предназначенные для решения либо определенного класса уравнений, либо нахождение решений в заданном числовом поле. В данном разделе эти команды описаны очень кратко, исключительно для того, чтобы читатель знал об их сушествовании. Более подробную информацию всегда можно получить в справочной системе Мар!е, выполнив команду тхык хоы х ь где вместо параметра е команды следует подставить ее действительное имя. Команда гзо1ее() ИШЕт ВсЕ ЦеЛые рЕШЕНИя уравНЕНИй.
Если в уравнении задано несколько неизвестных, то строится решение относительно всех заданных неизвестных. > 1зо1ее ( ( (х — 1) * (х-1/2) =0) ); (х= 11 > ьзо1ее((3*хе4*у=1)); (х = — ! — 4 71,у = 1 + 3 У! 1 В решении последнего уравнения примера 2.52 использована целочисленная переменная У1, сгенерированная Мар!е. Команда ызо1зе () также иШЕт цеЛочИсЛЕНнЫЕ решЕНия уравкения, но только по модулю, заданному вторым параметром. > зо1зе((3*х-4*у=1,7*х4у=2) ) ) 9 -1 (х= —,у= — 1 > тзо1че((3*х-4*у=1,7*х+у=2), 11); (х=1,у=61 > тзо1ее((3"с=4],11)4 (к=4+5 х1-1 Для решения рекуррентных уравнений в Мар1е включена специальная команда хзо1ее(), которая строит общее решение рекуррентного уравнения, используя начальные значения, если они заданы, или через их символьные обозначения, если они не заданы.