Кирьянов Д. - MathCad 11 (1077323), страница 25
Текст из файла (страница 25)
Обратное преобразование- 2+• Я • Д8•Л(2•, 0 ) ) +8 - я - ДDirac(О)()ш )invfourier5.4.2. Преобразование Лапласа (Laplace)Преобразованием Лапласа называют интеграл от f (х) следующего вида:F(s) = j f(x) • exp(-sx) d x .оРассчитывается преобразование Лапласа совершенно аналогично Фурьепреобразованию (см.
предыдущий раздел). Примеры преобразования Лапласаприведены в листинге 5.17.| Листинг 5.17. Прямое и обратное преобразование Лапласа\224х + 4 l a p l a c e , х —»+—s3s24+ — i n v l a p l a c e , s —* t2 +4ss35.4.3. Z-преобразование (Z)Z-преобразование функции f(x)следующего вида:определяется через бесконечную суммуF(Z) = £ f(n) • 2"П •n =0Пример Z-преобразования приведен в листинге 5.18.| Листинг 5.18. Прямое и обратное Z-преобразованиех + 4 z t r a n s , х —* z(-7 • z + 5 + 4 - z2 )z-l)(-7 • z + 5 + 4 • z 2 )(z-l)3invztrans , z -* 4 + n2;146Часть II. Точные вычисления5.5.
Дополнительные возможностисимвольного процессораВыше в этой главе были разобраны основные приемы символьных вычислений в Mathcad. Они, как правило, были показаны на простых примерах,которые иллюстрировали ту или иную символьную операцию. Тем не менее, при проведении разнообразных (и численных тоже) расчетов в Mathcadвозможности символьного процессора можно использовать более эффективно. Отметим некоторые из них.5.5.1.
Применение функций пользователяПри проведении символьных вычислений с оператором символьного выводафункции пользователя и переменные, определенные ранее в документеMathcad, воспринимаются символьным процессором корректно. Таким образом, имеется мощный аппарат включения символьных расчетов в программы пользователя. Примеры применения функции пользователя приведены в листингах 5.19 и 5.20. Сравните последние строчки этих листингов.Несмотря на их идентичность слева от знака символьного вывода, полученные результаты потличаются. Это связано с тем, что в листинге 5.20 предварительно переменной х присвоено значение 4. Поскольку значеншг переменных влияют на символьные вычисления, то результат учитываетподстановку вместо х числа 4.Листинг 5.19.
Функция пользователя в символьных вычислениях2-кf ( к , х ) := c o s { к • х)2f(k,x)s u b s t i t u t e , к = ухf ( к , х)series , к , 2—> c o s ^ xJ+4- ^ 1 + 4 - х 2 - 4 . х 2 - 1 п ( х ) -кЛистинг 5.20. Значения переменных влияют на результатсимвольных вычисленийf(k,x):=cos(k-x)+ 4 - xх:=4f ( к , х)s e r i e s , к, 2- > 6 5 - 6 4 - l n ( 4 ) - kНапротив, при осуществлении символьных операций через меню Symbolics(Символика), символьный процессор "не видит" ничего, кроме выражения,Глава 5.
Символьные вычисления147в пределах которого находятся линии ввода. Поэтому ни функции пользователя, ни предварительно определенные значения каких-либо переменныхникак не влияют на вычисления.СоветИспользуйте меню Symbolics (Символика), если требуется "сиюминутно" провести некоторые аналитические действия с выражением и получить ответ вобщем виде, не учитывающем текущие значения переменных, входящих в выражение.5.5.2. Получениечисленного значения выраженияС помощью символьного процессора можно рассчитать численное значениевыражения (действительное или комплексное).
Иногда такой путь представляется более удобным, чем применение численного процессора {т. е. знакаобычного равенства). Чтобы рассчитать значение некоторого выражения(рис. 5.21), выберите команду Symbolics/ Evaluate/ Symbolically (Символика / Вычислить / Символьно), либо пункт Symbolics / Evaluate / FloatingPoint (Символика/ Вычислить/ С плавающей точкой). В последнем случаеВам будет предложено с помощью диалога Floating Point Evaluation (Вычисления с плавающей точкой) задать точность вывода. В итоге примененияданных команд Mathcad заменяет символьные результаты, где это возможно, значениями в виде чисел с плавающей точкой.••••'•• • i " M "---^H{g|r«|Z"' Mathcad - [pic5 21.mcd)\Q\ £te Edit View Insert Fgrmat Tools ^irnbolics Window H<=plЦЯ|l|cos(7.3) +— 1.3II•'B!l 788Ш•Evaluate4ExpandFactor£ollectPolynomial CoefficientsVariableMatrixTransformSymbolicallyFloatingpointComplexShift+F9w1*%•>*Evaluation Style.787962 806696592 43 92 9= 0.788Рис.
5 . 2 1 . Вычисление выражения с плавающей точкойЕще один пункт меню Symbolics / Evaluate / Complex (Символика / Вычислить/ Комплексно) позволяет представить выражение в виде а+ь i.148Часть II. Точные вычисленияАналогичные по действию ключевые слова float и complex можно использовать в документах, вводя их с панели Symbolic (Символика).
Ключевоеслово float применяется вместе со значением точности вывода результата сплавающей точкой (листинг 5.21). С помощью слова complex можно преобразовывать выражения как в символьном виде, так и с учетом численныхзначений, если они были ранее присвоены переменным (несколько примеров приведено в листинге 5.22).! Листинг 5.21. Вычисление выражения с плавающей точкойх := 3к := 2 . 42кcos (к' х) + 4•х ~ float,3 -> 3.19cos (к-х) + 4 - х 2 " к float ,10 --* 3.185927374cos (к' х) +4 - х 2 " float ,20 ->3.185927 3 74441271673 0Листинг 5.22.
Комплексные преобразования выраженийеcomplex4.2•2i1 Я— \ Oii—>ехр(z) • c o s ( 2 ) + i • e x p ( z ) • s i n ( 2 )complex-> 1 1 9 3 . 4 5 2 3 9 7 0 9 3 0 8 4 6 1 8 3 + 1 1 0 7 . 3 4 7 7 7 3 0 5 0 9 3 9 0 9 8 0 - 1x := i4•xcomplex4 - х 3 ' 1 complex—>-4•i- » . 62573786016092347604-3.9507533623805509048• i5.5.3.Последовательностисимвольных командСимвольные вычисления допускается проводить с применением цепочек изключевых слов. Для этого ключевые слова, соответствующие последовательным символьным операциям, должны быть введены по очереди с панели Symbolic (Символика).
Принцип организации цепочек символьных вычисленийоченьпохожнаприменениевстроенногоязыкапрограммирования Mathcad (см. следующую главу). Несколько примеров использования последовательности символьных операторов приводится в листингах 5.23 и 5.24.Примечание)Последовательности символьных команд допускают введение дополнительныхусловий в расчеты, например таких, как ограничение на действительную иликомплексную форму результата. Это делается с помощью ключевого слова assume. Более подробную информацию читатель найдет в справочной системеMathcad.Глава 5. Символьные вычисления149Листинг 5.23.
Фурье-преобразование, разложение в ряд с заданной точностьюехfourier , х—> 2 -п- д((0 - i)111fourier . х—> Пs e r i e s , to, 5Я42- О ) 2+2 432-71 • Ыfourier . х-2 4.series, ш, 5-» I-??- .443-0)2.' + 5.54.10 -cofloat . 3Листинг 5.24. Z-лреобразование и разложение на простые дробих + 4 z t r a n s , х —> z-7 • z + 5 + 4 • z'z -1.x +4ztrans , хconvert , parfrac , z4+3?z - 1 ) (z - 1 )z-1)ГЛАВА 6ПрограммированиеСоздатели Mathcad изначально поставили перед собой такую задачу, чтобыдать возможность профессионалам-математикам, физикам и инженерам самостоятельно проводить сложные расчеты, не обращаясь за помощью кпрограммистам.
Несмотря на блестящее воплощение этих замыслов, выяснилось, что вовсе без программирования Mathcad серьезно теряет в своейсиле, в основном, из-за недовольства пользователей, знакомых с техникойсоздания программ и желающих осуществить свои расчеты в привычномдля себя программистском стиле. Вместо знакомых принципов программирования, пользователям старых версий Mathcad предлагалось комбинировать несколько специфичных встроенных функций и ранжированные переменные (см. разд.
6.1).Последние версии Mathcad имеют не очень мошный, но весьма элегантныйсобственный язык (см. разд. 6.2). С одной стороны, он дает возможностьпрограммисту эффективно применять программный код в документахMathcad. С другой, простота и интуитивность языка программирования позволяет быстро ему обучиться.
Наконец, программные модули внутри документа Mathcad сочетают в себе и обособленность (поэтому их легко отличить от остальных формул), и простоту смыслового восприятия.Несмотря на небольшое число операторов, язык программирования Mathcadпозволяет решать самые различные, в том числе и довольно сложные, задачи и является серьезным подспорьем для расчетов (см. разд. 6.3).6.1.
Программированиебез программированияВ ранних версиях Mathcad встроенного языка программирования не было.Чтобы применять привычные операции проверки условий и организовыватьциклы, приходилось изобретать причудливую смесь из встроенных функций6 3ак 484Часть II. Точные вычисления152условия if (листинг 6.1) и u n t i l и комбинаций ранжированных переменных (листинг 6.2).ПримечаниеjВ связи с устоявшимися традициями применения языка программированияфункцию u n t i l настоятельно не рекомендуется использовать в дальнейшейработе (тем не менее, она действует в Mathcad 11, но отнесена к устаревшимфункциям).; Листинг 6.1.