Сергиенко А.Б. Цифровая обработка сигналов (2002) (1095939), страница 96
Текст из файла (страница 96)
При указании входного параметра П вместо создания нового графического окна график выводится в существующем окне с дескриптором д. Параметр П должен быть дескриптором графического окна, ранее созданного функцией еуейадгав. ВНИМАНИЕ Вывод диаграмм для нескольких сигналов в одном окцс кельзя реализовать с помощью ко- манды По1о оп. Выходным параметром П является дескриптор графического окна, содержащего диаграмму. Использование глазковых диаграмм иллюстрируется демонстрационной программой зсаттегеуеоево, имеющейся в составе пакета Сопппцп1саг1опз. Приложение А Основы работы с МАТЮКАВ Система МАТЮКАВ (сокрашение от МАТпх 1 ЛВога~огу.
— матричная лаборатория) появилась в 1984 г. и за прошедшие более чем пятнадцать лет стала мировгям стандартом в области научных и технических расчетов. Основная причина втой популярности, вероятно, кроется в том, что МАТ1 ЛВ дал инженерам и ученым именно то, что им было нужно, — возможность с непревзойденной легкостью применять к произвольным данным, представленным в виде векторов и матриц, разнообразнейшие численные алгоритмы. Удобный язык программирования, в котором благодаря матричной ориентации системы значительно уменьшилась необходимость в циклах, еше больше расширил сферу применения МАТ1.АВ.
В данном приложении приведены основные сведения о работе с МАТЮКАВ. Этой информации достаточно для того, чтобы познакомиться с системой и зател1 продолжить осваивать ее самостоятельно. За более подробными сведениями обращайтесь к книгам, целиком посвяшенным МАТ1.АВ (таким как [121), а также, разумеется, к справочной системе и документации. Надеюсь также, что некоторую помощь в освоении МАТ1.АВ окажут многочисленные примеры расчетов, имеющиеся во всех главах книги. Инфармация, приводимая в данном приложении, соответствует версии МАТ1ЛВ 6.0. Установка Прежде всего следует сказать несколько слов о системных требованиях. В целом можно сказать, что если на вашем компьютере работает система ЪПпбокз 95/98,' МЕ/ХТУ2000, то должен работать и МАТ1.АВ.
Тип процессора и обьем оперативной памяти влияют только на быстродействие. Размер необходимого дискового пространства сильно варьируется в зависимости от состава устанавливаемых компонентов — от 138 Мбайт (только ядро МАТЮКАВ без документации) до 817 Мбайт (полная установка с документацией). Комплект, минимально необходимый для работы с, данной книгой (МАТЮКАВ плюс три пакета расширения), требует 212 Мбайт с документацией или 150 Мбайт без нее.
509 Установка ВНИМАНИЕ Версии МЛТ1.АВ до 6.0 включительно це работают ца компьютерах с процессором 1пге! Репйшв 4. Эта проблема решена в асрснц 6.!. В то же время с процессорами фирмы АМР (К5, К6, АтЫов, Потоп н т. л.) МАТ1.АВ работает нормально. Кроме того, нмсготся сообщения о проблемах, нозннкаюингх нрн попытках непользования предыдуших версий МАТ(.АВ (до 5.3 включнтсльно) с последннмн лсрсннмн операционной системы (%!пбоцз 2000 н ХР). Если вам приходилось устанавливать программное обеспечение в системе тлГ1пс)отуз, установка МАТЮКАВ не должна вызвать сложностей.
Прокомментируем лишь один этап, связанный с выбором устанавливаемых компонентов (рис. А.1). ! ф,",; ' в,, Ь, ф. °, Рно. А.т. Выбор устанавливаемых компонентов МАТГАВ В первом из четырех разделов этого окна предлагается выбрать папку для установки МАТ1.АВ. Дополнительных комментариев этот раздел не требует. Трехпозиционный переключатель в разделе 2 управляет установкой НТМЕ-документации (она занимает весь второй диск дистрибутива МАТ1.АВ).
При выборе варианта !пз!а11 ргог)цс(з апб г)осцгпеп1а1!оп документация устанавливается на жесткий диск компьютера. Если переключатель установлен в положение 1пз!а11 ргог)цств оп!у, документация устанавливаться не будет. При этом в среде МАТЮКАВ будет по-прежнему доступна справочная информация, встроенная в функции и вызываемая из командной строки, а для просмотра НТМ(.-документации придется вставить СР-КОМ (документация на нем хранится в несжатом виде). Третий вариант, 1пз!ав Посцгпеп1абоп оп1у, предлагает установить только документацию и в большинстве случаев не представляет интереса. 510 Приложение А. Основы работы с МАТОВ Поскольку большинство российских пользователей вряд ли заинтересует возможность установить докумснтацибо МАТ1.АВ ца японском языке, на раздел 3 можно вообще не обращать внимспшя, Наконец, в разлслс 4 неречббслсны компоненты системы, вкОиочая большое количество лакеглое рисиби17егбин (гоо!Ьох).
Для работы с рассматриваемыми в книге Примерами необходимо установить сооствсиио МАТ1.АВ, а также три его пакета расширения — В517п251 13госсзе5н17 Тоо1Ьох, Соппвшпсатбобтз Тоо1Ьох и Исег Оез1ян Тоо1Ьох. Остальные компоненты нри работе с книгой не понадобятся, так что можете выбирать нх, руководствуясь собственными нрофсссиональиымн интересами и объемом свободного места на лиске, Сбтисок компонентов с очень краткимп описаниями их назначения Приведен а приложении В. Работа в интерактивном режиме После запуска МАТ1.АВ на экране ноявится окно, показашюе на рис.
А.2. МАТ1.А — интерактивная диалоговая система, поэтому большая часть ее главного окна Предназначена лля ввода команд и вывода результатов. Эта область называется комо71дпбсбм окло.н — Согпгпапб 55у1пбовб. '«х 0 С С «С О, »1С НЕ7553 ОС19" С СЬ 3 19 С«ОС 37 О Сс 413 7121 2 + и 3909 » Н0.575 01 1с1х*037 1,0300 1.5000 2.3033 2.5030 Э.ОООО 3.5000 Сс. СОХ« 039 4.5300 5.0003 2 2 3 4 5 б 7 3 9 10 С*1 13 Ф7 44 Ы«К с"н «са .4«77 7.7 77.7МС 70.0«СС 37.7704 ;:,'::«.„:,-се;:,„.7;,,; сс «44443 ",::.„: ~~,"«Кънсс «стТ Рис.
А.а. Главное окно МАТОАВ Работа в интерактивном режиме Попробуем вычислить значение какого-нибудь выражения: » зигт(соз(р1/12) "2 + 1) апз- 1.3903 Итак, МАТ1.АВ может работать как очень большой и мощный калькулятор, вычисляя значения математических выражений. При этом арифметические операции записываются традиционно, для возведения в степень используется знак ", порядком вычислений можно управлять с помощью круглых скобок, и в круглых же скобках записываются аргументы вызываемых функций (в данном примере используются функции косинуса соз и квадратного корня зс(гт), На рис.
А.2 показано, как выглядят вводимые команды и выводимые результаты в окне МАТ1.АВ. Прн представлении результатов в книге пустые строки удалены для зкономии места. Поскольку мы не присвоили результат вычислений никакой переменной, МАТ(.АВ автоматически создал для него переменную с именем апз и показал ее значение. Однако главная ценность МАТ(.АВ состоит в возможности одновременно оперировать несколькими значениями, Введем следующую команду: » х - 1:0.5:5 хС01и%пз 1 СПгоиЯП 7 1.0000 1,5000 2.0000 2.5000 3.0000 3.5000 4.0000 Со1ивпз 8 твгои9Л 9 4 5000 5.0000 Мы создали переменную х, которая представляет собой вектор-строку, содержащую 9 элементов. Стоящее справа от знака равенства выражение генерирует арифметическую прогрессию, первый член которой равен 1, разность между соседними элементами равна 0,5, а последний член не превосходит 5, ЗАМЕЧАНИЕ Имена неуеменнык МАТЮКАВ чувствительны к регистру символов, так что х н Х вЂ” это две разные псремснныс.
Однако имена функций к регистру не чувствительны, поскольку фактически являготся нменамн файлов (см. палее раздел «Создание функций«). Над полученным вектором можно выполнять математические операции: » х*2 апз- 2 3 4 5 6 7 8 9 10 Можно применять к векторам математические функции: » ехр(х) апзСо1иепз 1 СПгои9П 7 2 7183 4 .4817 7 .3891 12 . 1825 20 .0855 33 .
1155 54 . 5982 Со1иапз 8 ФПгои9П 9 90.0171 148.4132 512 Приложение А. Основы работы с МАТСАВ Но вычисление следуюшего выражения дает неожиданный результат: » ехр(х)7х ап5- 16,6289 А этот пример вообще вызовет появление сообщения об ошибке: »х*х ?7? БГГОГ О51п9 ==> * 1ппег натг1х О1неп51оп5 нн55 айгее.
Дело в том, что операции умножения, деления и возведения в степень в МАТ1.АВ выполняются не поэлементно, а по правилам матричных операций. Матричные правила запрещают умножение строки на строку, поэтому выдано сообщение о несовместимости размеров перемножаемых матриц. ЗАМЕЧАНИЕ Несовместимость размеров матриц — вероятно, одна из наиболее часто встречающихся ошибок.
Есть две главных причины се возникновения. Во-первых, может оказаться неправильной ориенглация какого-нибудь из используемых в выражении массивов (прнмер— попытка сложить вектор-строку и вектор-столбец), Во-вторых, какой-нибудь нз нроласжуточных результатов, с вашей точки зрения являющийся числов (скаляром), может на самом деле оказаться лчатрицей — скажем, нз-за ускользнув~них от вашего внимания тонкостей работы вызываемой функции илн из-за каких-то особснностен обрабатываемых данных. Чтобы произвести ноэлелген>нные действия, к знаку операции необходимо добавить точку спереди (.*, .
/ или ."). Теперь мы можем получить желаемые результаты, переписав два последних примера; » ехр(х) .7 х ап5 = С01цнп5 1 ОПГОО9П 7 2.7183 2.9878 3.6945 4.8730 6.6952 9.4616 13.6495 СО1нип5 8 ОЬГОО9П 9 20.0038 29.6826 »х.*х ап5- СО1нэп5 1 тпгоц9П 7 1.0000 2 2500 4.0000 6.2500 9 0000 12.2500 16.0000 СО1нипз 8 ОПГОО9Ь 9 20.2500 25.0000 Чтобы продемонстрировать именно машричное умножение, создадим второй век- тор, причем не строку, а столбец: » у - х' у 1,0000 1.5000 2.0000 В1З Работа в интерактивном режиме 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 Апостроф в МАТ1.АВ обозначает эриитоео сопрялгеяие — сочетание транспоиирования с комплексным сопряжением. В даипом случае вектор х веществеииый, поэтому комплексное сопряжение ничего ие меняет. Для выполнения траиспоиировапия беэ комплексного сопряжения к апострофу необходимо добавить точку (.
'). Теперь у иас есть вектор-строка х и вектор-столбец у, размерности которых позволя|от перемножать пх, причем в любом порядке: 4.0000 6.0000 8.0000 10.0000 12.0000 14.0000 16.0000 18.0000 20.0000 3.5000 5.2500 7.0000 8.7500 10.5000 12.2500 14.0000 15.7500 17.5000 3 ОООО 4.5000 6.0000 7.5000 9 0000 . 10.5000 12.0000 13.5000 15.0000 2.0000 3.0000 4.0000 5 ОООО 6.0000 7.0000 8 0000 9.0000 10.0000 2.5000 3 7500 5.0000 6.2500 7.5000 8.7500 10 0000 11.2500 12.5000 В соответствии с правилами матричных операций при умножении строки иа столбец получилось число, а при умножении столбца иа строку — квадратная матрица.