Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
Обратите внимание на то, что в предпоследнем примере Maple отказалась вычислить «очевидное» значение выражения, но сделала это после придания х статуса предполагаемой переменной с только положительными значения.
3.2.13. Применение элементарных функция для моделирования сигналов
Системы компьютерной математики часто используются для моделирования сигналов и устройств их обработки и преобразования (см. пример в разделе 3.2.5). Рисунок 3.6 показывает построение нескольких функций, полученных с помощью комбинаций элементарных функций, включая тригонометрические функции. Такие комбинации позволяют получать периодические функции, моделирующие сигналы стандартного вида: в виде напряжения на выходе двухполупериодного выпрямителя, симметричных прямоугольных колебаний (меандр), пилообразных и треугольных импульсов, треугольных импульсов со скругленной вершиной.
Рис. 3.6. Примеры моделирования сигналов с помощью комбинаций элементарных функций
В этом рисунке запись axes=NONE убирает координатные оси. Обратите внимание, что смещение графиков отдельных функций вниз с целью устранения их наложения достигнуто просто прибавлением к значению каждой функции некоторой константы.
Приведенные выше сигналы нередко можно формировать, используя функции с условиями — например, функцию signum. Однако достоинство моделирования сигналов с помощью только элементарных функций заключается в том, что такие сигналы нередко могут обрабатываться аналитически, тогда как для функций с условиями это возможно далеко не всегда.
3.2.14. Выбор экспоненциальных функций для приближения сложных зависимостей
В природе многие зависимости имеют экспоненциальное нарастание или спад. Это характерно для апериодических и релаксационных процессов, например, таких как спад радиоактивности. Да и многие колебательные процессы имеют экспоненциальное нарастание или спад амплитуды колебаний. Кроме того, такие зависимости характерны для ряда характеристик самых разнообразных устройств и систем. Это делает целесообразным рассмотрение и визуализацию наиболее важных из экспоненциальных функций.
На рис. 3.7 показано начало документа на котором заданы три экспоненциальные функции и построены семейства их графиков. Представление графиков в виде семейства, а не поодиночке, позволяет наглядно представить характер изменения вида функций, что зачастую уже достаточно для выбора той или иной функции в качестве приближения (аппроксимации) некоторой сложной зависимости. После выбора зависимости используя методы регрессионного анализа можно подобрать параметры выбранной функции по методу наименьших квадратов.
Рис. 3.7. Начало документа с тремя экспоненциальными зависимостями
Первая из представленных функций описывает зависимости, характерные для идеального диода или р-n-перехода. Две другие зависимости имеют характерные падающие участки, которые присуши, например, вольт-амперным характеристикам «лямбда»-диодов и транзисторов (первые характеризуются одной кривой, другие семейством кривых). Последняя зависимость задана функцией пользователя с тремя параметрами x, а и b.
Еще три зависимости, представленные на рис. 3.8 также весьма напоминают характерные для ряда систем и устройств характеристики. Первая зависимость очень похожа на нормированные резонансные кривые колебательных контуров и иных резонаторов. Другая зависимость позволяет моделировать нелинейные характеристики усилителей. Ее замечательные свойства — симметрия и возможность изменения плавности перехода от одного состояния (0) к другому (1). А третья зависимость характеризует сдвиг по горизонтали некоторой передаточной зависимости. Она также очень напоминает кривые гистерезиса магнитных материалов.
Рис. 3.8. Часть документа с тремя дополнительными экспоненциальными зависимостями
Следующая тройка зависимостей представлена на рис. 3.9. Эти зависимости напоминают ранее описанные, но с некоторыми индивидуальными особенностями. Например, средняя зависимость дает спад, а не нарастание значения «выхода» при нарастании значения переменной х. Семейство зависимостей в конце рис 3.9 характерно плавным переходом от симметричной зависимости к явно несимметричной, имеющей быстрое нарастание и относительно медленный спад. Такой характер нередко имеет выходной сигнал усилителя, возбуждаемого перепадом напряжения.
Рис. 3.9. Часть документа с еще тремя экспоненциальными зависимостями
Три последние зависимости (рис. 3.10) прекрасно подходят для описания вольт-амперных характеристик ряда электронных приборов. Первые две из них напоминают семейства вольт-амперных характеристики полевых транзисторов и электронных ламп. Верхняя соответствует приборам с постоянной крутизной, на что указывает равное расстояние между кривыми. А вторая напоминает семейство вольт-амперных характеристик полевого транзистора с нарастающей при больших токах крутизной.
Рис. 3.10. Конец документа с началом на рис. 3.7
Последняя зависимость неплохо подходит для приближения N-образной вольт-амперной характеристики туннельного диода. Это довольно старый, но хорошо известный прибор, который применяется в усилителях и генераторах высокочастотных и сверхвысокочастотных колебаний.
3.2.15. Применение функций с элементами сравнения
В алгоритме вычисления ряда функций заложено сравнение результата с некоторым опорным значением. К таким функциям с элементами сравнения относятся: abs — абсолютное значение числа; ceil — наименьшее целое, большее или равное аргументу; floor — наибольшее целое, меньшее или равное аргументу; frac — дробная часть числа; trunc — целое, округленное в направлении нуля; round — округленное значение числа; signum(х) — знак х (-1 при х<0, 0 при х=0 и +1 при х>0).
Для комплексного аргумента х эти функции определяются следующим образом:
• trunc(x) = trunc(Re(x)) + rtrunc(Im(x));
• round(x) = round(Re(x)) + I*round(Im(x));
• frac(x) = frac(Re(x)) + I*frac(Im(x)).
Для введения определения значения floor(x) от комплексного аргумента прежде всего запишем а=Re(x)-floor(Re(x)) и b=Im(x)-floor(Im(x)). Тогда floor(x)=floor(Re(x))+I*floor(Im(x))+X, где
Наконец, функция ceil для комплексного аргумента определяется следующим образом:
ceil(x) = -floor(-х)
Примеры вычисления выражений с данными функциями представлены ниже (файл calcfun):
> [ceil(Pi), trunc(Pi), floor(Pi), frac(Pi), round(Pi)];
[4, 3, 3, π, -3, 3]> frac(evalf(Pi));
.141592654> [ceil(-Pi),trunc(-Pi),floor(-Pi),round(-Pi)];
[-3, -3, -4, -3]> trunc(2.6+3.4*I);
2+3I> [signum(-Pi),signum(0),signum(Pi)];
[-1,0,1]Хотя функции этой группы достаточно просты, их нельзя относить к числу элементарных функций. Нередко их применение исключает возможность проведения символьных преобразований или дает их существенное усложнение.
3.2.16. Работа с функциями комплексного аргумента
Для комплексных чисел и данных, помимо упомянутых в предшествующем разделе, определен следующий ряд базовых функций: argument — аргумент комплексного числа; conjugate — комплексно-сопряженное число; Im — мнимая часть комплексного числа; Re — действительная часть комплексного числа; polar — полярное представление комплексного числа (библиотечная функция). Примеры вычисления для этих функций (файл calcfun):
> z:=2+3*I;
Z:=2 + 3I> [Re(z),Im(z),abs(z)];
> [argument(z),conjugate(z)];
> readlib(polar);
proc(r::algebraic, th::algebraic) ... end proc> polar(z);
> polar(-3.,Pi/2);
В некоторых случаях полезна визуализация операций с комплексными числами. Для этого удобен пакет расширения plots, который позволяет представлять комплексные числа в виде стрелок на комплексной плоскости. Например, для иллюстрации операции умножения двух комплексных чисел
можно использовать следующие графические построения (файл complpot):
> with(plottools):
l1 := arrow([0,0], [1,2], .1, .3, .1, color=green):
l1a := arc([0,0],1.5,0..arctan(2),color=green):
> l2 := arrow([0,0], [1,-8], .1, .3, .1, color=green):
l2a := arc([0,0],.75,0..arctan(.8),color=green):
> l3 := arrow([0,0], [-.6,2.8], .1, .3, .1, color=black):
l3a := arc([0,0],2.5,0..arctan(2.8,-.6),color=black):
> plots[display](l1,l2,l3,l1a,l2a,l3a, axes=normal,view=[-3..3,0..3],scaling=constrained);
Они создают график (рис. 3.11) наглядно иллюстрирующий операцию перемножения двух комплексных чисел, представленных своими радиус-векторами.