Манзон Б.М. Maple V Power Edition (1185908), страница 11
Текст из файла (страница 11)
> вшв( '1"2', 'з.'=1..100 ) г 338350 > вша( 'зл2', '1'т1...п) у — (л + 1)' — — (л+ 1) + — и+— 3 1 2 3 2 6 6 > вшв( '2*1/2 * з.', '1'=а...с1) г — 2" "(И+ 1) — 2"""- — 2' + 2" 2 2 Кавычки обязательны в индексах суммирования. Для задания бесконечного суммирования в качестве правой границы лиапазона переменной суммирования устанавливается значение 1вйвйу. > вшв( '1/1*2', '1' 1.. 1пНп1су)г 2 — х 6 > вшв((-1) 'и/(3*п+1) *З,п=0..1пйзп1су) г йурегйеопз —, —, —, 1, —, —, —, — 1 > еча1й(")г .9865909863 Если Мар/е не способен найти аналитическую форму для некоторого интеграла или суммы, он просто повторяет команду интегрирования (суммирования) в выводе. Приведем епзе пример бесконечного произведения 6.
Примеры вычислений 77 > ргобисе.(а"(и/(и+1)*2)/всуе.((1+1од(а)/п)*(1+1од(а)/ (и+1/2))),п=1..1пйлп1еу)) П При произвольном значении а Мар(е не находит замкнутой формы этою произведения, но положим а=7 > а:=7(ркойист (а" (п/ (и+1) *2) /вцте( (1+1од(а) /и) *(1+ 1од(а)/(и+1/2))),п=1..1пйхпЫу)! а=7 Л (Рл(7)) 1п(7) .'" (7"')" > в1втР11Й1 ("); 7' '~" '"4' " '"""'(Г(2 + 2 1п(7)) > етга1Й(")! .3248180834 6.8.
Примеры из линейной алгебры В этом разделе мы кратко остановимся на возможностях системы Мар!е для решения задач линейной алгебры. Начнем с рассмотрения типов объектов, используемых в линейной алгебре, а затем сделаем краткий обзор команд, лоступных в пакете 1(ва)8. Массивы Один из типов объектов линейной алгебры — массив. Массив — структура высокого уровня (одной или больше размерностей), содержащая совокупность индивидуальных объектов. Каждой размерности массива соответствует диапазон, 78 Мар!е Ч Роняет Е016оп определяемый пользователем.
Массив одной размерности — это список, двух размерностей — это список списков, Вектор эквивалентен одномерному массиву с нижней границей, равной ), матрица эквивалентна двумерному массиву с обеими нижними границами, равными 1. Массивы создаются при помоши команды аггау. Индивидуальные элементы массива могут или определяться заранее, или оставаться неизвестными. Приведем пример массива 3 х 3, который содержит заранее определенные элементы. > аггау ( 1 ..3, 1 ..3, [[а,Ь,с ), И,е,й ), [дЬ, ))); ["'1 Как видите, Мар!е распечатывает массив в виде матрицы. В пакете ))ва!я имеются команды, которые позволяют создавать матрицу или вектор непосредственно, но они — только специальные случаи команды аггау. Специальные типы матриц Имеется небольшое количество специальных типов матриц, которые люгут автоматически генерироваться в Мир!е.
Это — симметричная, антисимметричная, разреженная, диагональная и единичная матрицы. Такие матрицы создаются командой агтау с добавлением типа матрицы как дополнительного параметра. > аггау ( 1 ..2, 1 ..2, Ыепг.Ыу) т [! 01 > аггау ( 1 ..2, 1 ..б, [(1,3)=р, (2,4)юг], врагве ) т ()()р()() () Управление элементами массивов Есть некоторые отличия в правилах оперирования программы Мар(е с массивами по сравнению с менее сложными объектами.
Если Вы присвоили массиву имя переменной, а затем захотите вывести значение этой переменной, просто записав ее в виде команды, то результатом будет не сам массив, а имя переменной, которое ему присвоено. Это правило называется "(вз1 пате еуа)иайоп" (вычисление до последнего имени). Для вывода самого массива можно использовать одну из команд ор или ета)т (лля матриц). 6. Примеры вычислений 79 > Мфю актау(1..2,1..2, [(3~4), (6 ° 5) ) ) У > М)ор(М)У [1 > еуа1зв(М) ) [3 > М:= 'М'; Правило вычисления до последнего имени также используется для таких сложных объектов, как таблицы и процедуры Нар(е.
Это правило применяется с целью избежать громоздких выводов на экран дисплея. На индивидуальные элементы массивов можно ссылаться указанием номера строки и номера столбца, в которых находится элемент. Заметим однако, что для элементов массива правило вычисления до последнего имени не работает. Можно также переопределять элементы массива после того, как массив уже созлан — присвоением новых значений их именам. Приведем пример. > ма= актау( 1 ..2, 1 ..3, ((2,8,32), (45,-1,01 ) )г 45 — 1 0 > М(1,31) 32 > М(2,3 ):= х-Зтор(М)) М:=х — 3 ьз 45 — 1 х — 3 80 Мар!е )( Рохгег Ее)!т)оп Команды пакета Ипа!9 Пакет линейной алгебры (!!ва!а) включает много полезных команд. Указатель каталога всех этих команд загрузим при помогци команды Мй.
> хгЫЬ(11ла1д)в Иагпхпд, пем оей.п(Стоп гоп погп Иагпхпд, пеи дей[п(с[оп тот погт Теперь все команды пакета доступны для непосредственного использования. Сначала зададим две матрицы с которыми будем работать. > А:= акхау( 1 ..3, 1 ..3, [[3,-1,1 ), [-1,8,-1 ), [1,-1,3 ! ! )! > Вг= аххау( 1 ..3, 1 ..3, [[У,У.-11 ° [-У.У.О! ° [у,о,о) ) ); у у В:= — у у у О 3+у -!+у О ! — 1 — у 5+у -1 !+у и перемножать > ехга1аг(Ай*В))аах1п1р1у(А,В)! 5у 2у -3 — 7у 4у 1 5у Π— 1 5У 2У -7У 4у 1 5у Π— 1 А: [ Матрицы можно складывать > ехга1тв(А + В) 7 3 — 1 — 1 5 1 — 1 З 6. Примеры вычислений 81 транспонировать > Екапврове (А); 3 — 1 11 — 1 — 1 обращать: > апчекве (А); 7 1 — 1 !8 18 9 1 2 1 18 9 18 — 1 1 7 9 18 18 можно найти детерминант матрицы: > ае~ (В)7 у определить собственные значения и собственные векторы > ехетепхга1в (А) ) б, 2„ 3 > тг з= еадепхгесЕв(А)) 1:= [2, 1, [[ — 1, О, 1[И, [3, 1, [[1, 1, 1[И, [б, 1, [[1, — 2, 1[Н В приведенной записи указываются собственные значения (характеристические числа), их кратность и в фигурных скобках соответствующие им собственные вектора.
В Фар/е используется оператор А* для некоммутативного перемножения матриц. > ехга1в!(Ва*В)) с в у 2у — у1 — 2у' О у 82 Мар1е Ч Ро3агег ЕдШоп Для умножения матрицы на себя можно использовать также оператор возведения в степень. > еча1та(В "2) ) УГЧ 2Чар!е "знает" также матричные зкспоненты е, которые, например, используются в теории систем обыкновенных дифференциальных уравнений > ехропепНа1(А)а % 1 %1 1 6 1 3 %1:=- — е+ — е 3 6 Другие команды пакета!1ва!и осу2цествляют преобразования матриц. Выделение субматрицы: > еи)з2в:= еиЬата~кфх( В, 1 ..2, 2 ..3 ) ) зиЬл:= Присоединение одной матрицы слева от другой > аидтвеп~( А, В)а 3 — 1 1 у у — 1 — 1 5 — 1 — у у 0 — у 1 3 1 6 1 2 — е+ — е + — е 3 6 2 3 1 2 1 6 — е + — е-+ — е 3 6 2 %1 — е+ — е + — е ! 3 1 2 1 ь 3 6 2 6 1 3 — е + — е' 3 6 1 3 1 6 ! 2 %1 — е3+ — е + — е 3 6 2 6. Примеры вычислений 83 Вертикальное объелинение матриц: > 1з.тха1д[всас)с) ( А, В) т 3 — 1 1 — 1 5 — 1 1 — 1 3 у у — у у О у О О Мир!с "знает" некоторые специальные типы матриц: Фибоначчи, Вандермонда, Гильберта, Теплица.
Приведем пример > ту г= тгапйехчвопйе( (х. (1..3) ) ) т > йассок(сгес(ту) ) т (х2 — х1) ( — х1 + хЗ) (хЗ вЂ” х2) 6.9. Обыкновенные дифференциальные уравнения Для решения обыкновенных дифференциальных уравнений и систем используется команда дао)те(уравнения, переменные, опции), где уравнения — заданные дифференциальные уравнения, переменные — те переменные, по отношению к которым ишется решение, опции — необязательные опции, задаваемые в виде: ключевое слово=значение. Команда вво)уе способна решать аналитически больцюе количество дифференциальных уравнений.
Если задана опция 1уре=ехас(, то команда пытается найти аналитическое решение — эта опция задана по умолчанию. Другие возможные значения этой опции (уре=вег!еа (в этом случае реп~ение ишется в виде ряда) и 1уре=пшпепс (в этом случае ишется численное решение). Можно задать еще несколько опций, которые определяют: будет ли решение искаться в явном виде или нет (ехр(!с)1=1гве или ехр!(с!1=(а)ае), задают метод решения (например гвейо!)=)ар1асе). 84 Мар1е )г Роигег Ее(18оп Если задана опция 1уре=пшпепс, то можно также задать метод численного расчета, например + шейод=гИ45 — метод Рунге-Купа четвертого-пятого порядка, + тейпа=втегЕ78 — метод Рунге-Кутга седьмого-восьмого порядка, ~ пгейов=с!аяя)са! — содержит несколько классических методов (Эйлера, Рунге-Купа третьего порядка и некоторые другие), е тейов=8еаг и те(йо4=т8еаг — одношаговый и многошаговый методы Гира.
Приведем примеры > йво1ч"е(6НЙ(у(х),х$2) — у(х) = влп(х) ~х, у(х) ) ) у(х) = — — сов(х) — — сбп(х) х+ С!е" + С2е ' 1 1 (- ) 2 2 В полученном решении С1, С2 — произвольные постоянные. Начальные условия в дифференциальных уравнениях задаются через запятую, при этом уравнение и начальное условие объединяются фигурными скобками в набор. > аво1тге((ЫН(тг(Е),Е)+2*Е=О, тг(1)=5), тг(Е) )1 у(г) = — г'+ б Производные в начальных условиях записываются в операторном виде как Р(Р(у))(0) или (Р(вР2)(у)(0)).