Дьяконов В.П. Matlab 6.5 SP1 7 0 Simulink 5 6 Обработка сигналов и проектирование фильтров 2005 (Дьяконов В.П. Matlab 6.5 SP1 / 7.0 Simulink 5 / 6. Обработка сигналов и проектирование фильтров 2005), страница 12
Описание файла
DJVU-файл из архива "Дьяконов В.П. Matlab 6.5 SP1 / 7.0 Simulink 5 / 6. Обработка сигналов и проектирование фильтров 2005", который расположен в категории "". Всё это находится в предмете "цифровая обработка сигналов (цос)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 12 - страница
Рассмотрим следующий характерный пример: » х — 0;5 1.7. Основные объеьв<ы МАТЮКАВ Вычисление массива косинусов здесь прошло коррекпю. А вот вычисление массива значений функции <йп(х)/х дает неожиданный, на первый взгляд, эффект — вместо массива с шестью элементами вычислено едннстве<нюе значение! Причина «парадокса» зпесь в тол<, что оператор / вычисляет отношение лвух а<ал<уип, векпюров пли лгвгсев<ож Если опн одной рвзмерпосш, то результат будет одним числол<, что и данном случае н выпала система. Чтобы лействительно получить вектор значений з(п(х)/х, надо использовать специалы<ый оператор лоалемех<ллого леленпя массивов — . /. Тогда будег получен массив чисел: » зьп(х) ./х Нахп1пч: 01у«<е )<у зсгс.
апз Нан О. ВЗ15 0 . З590 О. ОЗ70 -0 . 109? -0 . 19) 0 Впрочем, н туг без особенностей не обошлось. Так, при х = 0 значение <йп(х)/х даст устранимую неопредслсппосгь вида О/О= 1. Однако, как и всякая численная система, МЛТ(.ЛВ классифипирует попытку деленна па 0 как ошибку и вьволит соответствукццее предупрежленпе.
Л вместо ожидаел<ого численного значения выволится символьная копствпга пан, означающая, что неопределенность О/Π— зто все же нс обычное число. Выражения с опсраторол«могут пспользо«аться в качесгне аргуменгов функций для получи<на множественных их значений. Например, н приводимом ниже примере вычислены функции Бесселя порядка от 0 до 5 со значением аргумента 0.5: » Ьеззе1 (О <1: 5, 1/2) апз = 0.9305 0.2З23 0.0300 0.002В О. ОО? 0.0000 Л в следующем примере вычпсле<ю и<есть значений функции Бесселя нулевого порядка для значений аргумента от О до 5 с шагом 1; » Ьеззе1(0,0:'.:5) апз .ОООО 0.765? 0.2?39 -0.?З01 0.3971 -0.1770 Таким образом, оператор: является весьма удобным средспюм залания регулярной послеловательностп чисел.
Ои п<проко используется при работе со срелствами построения графиков. В дальнейшем мь< расширим представление о возможНОстях Этого опе(хпора, 1.'7.1О.Функции попьзовэтепя Хотя н ядро МАТБАВ последних версий встроено уже около 900 операторов и функций, пользователю всегда может понплобиться та или иная функций, простая или сложная, отсутсзвуюшая в ялре. ?1зь<к програмлшровация систел< МЛТБАВ (см. главу 10) предоставляет рял возможностей вля залания функций пользователя. Одна из таких возможностей закл<очается в прил<енении функции ).п11пе, аргументом которои пало в апострофах зал<пь выражение, задающее функцию одной или нескольких переменных. В приведенном ниже примере залана функции двух переменных — суммы квадратов <йп(х) и сгв(у): » зс2=1п11пе ( ' зла (х) .
"2«сз (у) ' .? ' ) 1п)гпе Гппсе1сп: зс2 <х, у) = з1п (х) . ".'.:пз (у) . ' " Глава 1. Работа с МАТЮКАВ и Ятий((к Можно также задавать свои функции в виде щ-файлов. Например, можно в окне релактора щ-файлов (открывается командой )чету в меню Рйе) создать гп-файл с именем зс2 и листингом: тапсе)оп у=ас2(х,у) у=его(х)."2+оса(у)."2 Записав его на лиск, можно командой Фуре вс2 вывести листинг созданной функции: » Фуре ас2 Гопсстоп у=ес2 (х, у) у=а1п(х) ."2+сох(у) ."2 Обращение к функции„созданной описанными методами, задается как зс2(х,у), где на место х и у полставляются значения переменных — аргументов функции пользователя. Например: » ес2 (1, 2) апа = О.
8811 » ес2 (2, 1) у 1.1187 апа 1.1187 Можно также создать так называемую ))ап()(е-функцию с помощью оператора Ф: » Гь=бас2г К такой функции можно обращаться с помощью функции исполнения функций Геуа1 (Г)т,х, у): » Фееа1(ГЬ,1,2) у С. 881З апа = 0.8813 » Геуа1(ГП.2,1) у 1.1181 апе = 1.1187 1.7Л 1. Сообщения об ошибках и их исправление Важное значение при диалоге с системой МАТ1 АВ имеет диагностика ошибок.
Вряд ли есть пользователь, помнящий точное написание тысяч операторов и функций, входящих в МАТ) АВ и в пакеты расширения этой системы. Поэтому никто не застрахован от ошибочного написания математических выражений или команд. МАТВАВ диагностирует вводимые команды и выражения и выдает соответствующие сообщения об ошибках или предупреждения. Пример вывода сообщения об ошибке (деление на 0) только что приволился. Рассмотрим еще ряд примеров. Введем, к примеру, ошибочное выражение: » аЧФ(2) 1.7. Основные обвея)ны МАИАВ и нажмем клавишу ЕЫТЕЯ.
Система сообщит об ошибке: ??? Овое11пео Гппсс1оп ог чаг1авье 'ляг'. Зто сообщение говорит о том, что не определена перел1енпая или функция, и указывает, какая именно — эс)г. В данном случае, разумеется„люжно просто набрать правильное выражение. Олнако в случае громоздкого выражения лучше воспользоваться редактором. Для этого достаточно нажать клали)ву 4 для перелистывания предыдущих строк. В результате в строке ввода появится выражение: » аяг (2) с курсором в его конце.
В версии МАТ)АВ б люжно теперь нажать клавишу ТаЬ. Система введет подсказку, анализируя уже введенные символы. Из предложенных системой трех операторов выбираем вг)п. Теперь с помощью клавиши вновь выбираем нужную строку и, пользуясь клавишей е- устанавливаем курсор после буквы г. Теперь нажмем ю)авишу Т, а затем клавишу ЕЛ)ТЕК. Выражение примет следующий вид: » аягв)2) апа = 1.4142 Если бы был только один вариант окончания введенных символов, то после нажатия клавиши ТаЬ система бы закончила наш ввод без перевода строки. Вычисления дают ожидаемый результат — значение квадратного корня из двух.
В системе МАТ)-АВ внешние определешш используются точно так же, как и встроенные функции и операторы. Никаких дополнительных указаний на их применение делать не надо. Достаточно лишь позаботиться о том, чтобы используемые определения действительно существовалн в виде файлов с расширением .гп. Впрочем, если вы забудете об этом или введете имя несуществующего определения, то система отреагирует на это звуковым сигналол) )звонком) и выводом сообщения об ошибке: » Лаьп (1) ??? ПпвеГьпее 1впсе1оп ог еаг1аьье 'Лаьп' » а1вЛ)1) апа = 1.1752 В этом примере мы забыли (нарочно), какое ил1я имеет внешняя функция, вычисляющая гиперболический синус. Система подсказала, что функция или переменная с именем Ла1в не определена ни как внутренняя, ни как ш-функция.
Зато далее мы видим, что функция с именем алпЛ есть в составе функций системы МАТлА — она задана в виде М-функции. Между тем, в последнем примере мы не давали системе никаких указаний на то, что следует искать именно внешнюю функцию! И это вычисление прошло так же просто, как вычисление встроенной функции, такой как вьв. Разумеется, скорость вычислений по внешним определениям несколько ниже, чел) по встроенным функциям или операторам. При этом вычисления происходят следующил1 образом: вначале система быстро определяет, имеется ли введенное слово среди служебных слов системы.
Если да, то нужные вычисления выполняются сразу, если нет, система ищет и)-файл с соответствующим именем на диске. Если файла нет, то выдается сообщение об ошибке, и вычисления останавливаются. Если же файл найден, он загружается с жесткого диска в память машины и исполняется. Все это еще раз говорит о важности правильной установки рабочей директории с помощью браузера файловой системы МАТлАВ.
Глава 1. Работа с МАТГ.АВ и Яйла]т]( Иногда в ходе вывода результатов вычислений появляется сокращение пан (от слов Хо[ а ]л]оп)])ег — не число). Оно обозначает неопределенность, наприл(ер вида ОЯ или тп1Лпк, где тпг — системная перел)синая со значением машинной бесконечности.
Могут появляться и различные прецупреждения об ошибках (на английском языке). 1]апример, при делении на О конечного числа появляется предупреждение »нагпупт: оеч1бе ьу 2его.» (»Внимание: Деление на ноль»). Диапазон чисел, представимых в системе, лежит от ]О )лл до 10+)»л, Вообще говоря, в МАТ]-АВ надо отличать предупреждение об ошибке от сообщения о ней. Оредупрежденил (обычно после слова л)атпзо(]) не останавлиоают вычисления и лишь предупреждают пользователя о том, что диагносгируемая ошибка способна повлиять на ход вычислений. Сооб(пение об ошибке (после знаков 22.) останавливает вычисления. 1.8.
Формирование векторов и матриц 1.8.1. Особенности задания векторов и матриц МАТ] А — система, специально предназначенная лля проведения сложных вычислений с векторами, матрицами и массивами [!9 — 22). При этом она по умолчанию предполагает, что каждая заданная переменная — это вектор, матрица или массив. Все определяется конкретным значением переменной. Например, если задано х=1, то это значит, что х — это вектор с единственным элементом, имеющим значение 1. Если надо задать вектор из трех элементов, то их значения следует перечислить в квадратных скобках, разделяя пробелами.