
- •Лабораторная работа №15.Символьные вычисления в Mathcad. Программирование
- •15.1Работа с текстовыми переменными и функциями
- •15.2Символьные вычисления
- •Символьные преобразования, осуществляемые посредством меню
- •Использование оператора символьных вычислений
- •Численное преобразование Фурье
- •Символьная оптимизация численных расчетов
- •15.3Программирование в Mathcad
- •Программы с условием
- •Программы с циклами
- •Рекурсивные программы
- •15.4Создание пользовательских операторов в Mathcad
Численное преобразование Фурье
Преобразование Фурье достаточно важно в математических исследованиях, поэтому, наряду с символьными преобразованиями (через меню Символика – Трансформация или ключевые слова fourier, invfourier, в Mathcad предусмотрены функции для совершения быстрого преобразования Фурье численными методами.
Функция fft(v) осуществляет быстрое преобразование Фурье над вектором v вещественных чисел. Вектор v должен состоять из 2n элементов, где n – целое число, большее 2. Функция cfft(A) осуществляет быстрое преобразование Фурье над матрицей A комплексных данных. Функция ifft(u) осуществляет быстрое обратное преобразование Фурье над вектором u вещественных чисел. Вектор u должен состоять из 2n-1+1 элементов, где n – целое число. Функция icfft(A) осуществляет быстрое обратное преобразование Фурье над матрицей A комплексных данных.
Помимо перечисленных функций, в Mathcad имеются одноименные им функции FFT(v), CFFT(A), IFFT(u), ICFFT(A), осуществляющие те же преобразования, но по несколько отличающимся формулам, о чем можно прочитать в справочной системе Mathcad.
Символьная оптимизация численных расчетов
С появлением в ранних версиях Mathcad блока символьных вычислений, вполне очевидной стала идея применять символьные преобразования на предварительном этапе при решении численных задач. В некоторых случаях символьное упрощение не только способствовало более быстрому нахождению решения (актуально для сложных расчетов на слабых машинах), но и повышало их точность. Например, выражение
может
быть без труда найден численными
методами. Однако невооруженным глазом
видно, что это – табличный интеграл, и
символьный процессор в состоянии решить
его в общем виде, получив результат
.
После
этого численному процессору останется
только подставить значения переменных
и вычислить выражение.
Такой подход в Mathcad называется символьной оптимизацией. Несмотря на очевидную его эффективность в некоторых случаях, по умолчанию он отключен. Для его включения служит меню Инструменты – Оптимизация. Пункт Уравнение позволяет разрешить оптимизацию для выражения, в котором в настоящий момент находится курсор ввода; пункт Рабочий лист включает оптимизацию всего документа Mathcad. Включенный пункт отображается галочкой в меню.
Включить оптимизацию отдельного выражения также можно через контекстное меню при щелчке на нем правой кнопкой мыши. Также флажок включения оптимизации находится в диалоговом окне свойств выражения, на вкладке вычислений.
Если символьный процессор смог оптимизировать выражение, оно помечается красной звездочкой справа. При этом в меню становится доступным пункт Инструменты – Оптимизация – Показать оптимизацию. Этот пункт дублируется и в контекстном меню. Он отображает на экране диалоговое окно, в котором выводится выражение после его преобразования символьным процессором. Оно позволяет убедиться, что преобразование выполнено верно и может быть применено в решении данной задачи. Также это диалоговое окно можно открыть, дважды щелкнув по красной звездочке.
Если символьный процессор не смог упростить выражения, оно рассчитывается численным процессором в обычном порядке.