- •Руководство
- •Устройства обработки и преобразования информации
- •Часть 1
- •1. Применение MatLab в инженерных расчетах
- •1.1. Панель инструментов и меню MatLab
- •1.2. Работа с MatLab в режиме прямых вычислений
- •Форматы вывода результатов
- •Константы и системные переменные
- •Арифметические операции
- •1.2. Графические средства MatLab
- •Вывод нескольких кривых на один график
- •Редактирование графиков в графическом окне
- •1.3. Организация вычислений с помощью м-файлов
- •1.4. Домашнее задание
- •1.5. Лабораторное задание
- •1.6. Содержание отчета
- •Контрольные вопросы
- •2. Моделирование сигналов в MatLab
- •2.1. Моделирование типовых детерминированных сигналов
- •2.1.1. Моделирование одиночных импульсов
- •2.1.2. Моделирование последовательностей сигналов
- •Примеры применения функции pulstran
- •2.3. Моделирование сигналов сложной формы
- •2.4. Домашнее задание
- •2.5. Лабораторное задание
- •2.6. Содержание отчета
- •Контрольные вопросы и задания
- •Устройства обработки и преобразования информации
- •Часть 1
1.2. Работа с MatLab в режиме прямых вычислений
MatLab работает таким образом, что любые (даже весьма сложные) вычисления можно выполнять в режиме прямых вычислений, т.е. без подготовки программы. Работа с системой в этом режиме носит диалоговый характер и происходит по правилу «задал вопрос – получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши ENTER. Следует помнить о том, что любую переменную (даже скаляр) MatLab воспринимает как вектор или матрицу и выполняет операции над объектами вычислений по правилам матричной алгебры.
Ниже приведен ряд примеров выполнения вычислений в этом режиме, из которых можно сделать некоторые полезные выводы:
– сигналом готовности MatLab к вводу исходных данных является символ » в командном окне;
– диалог ведется в стиле «задал вопрос – получил ответ;
– когда не указана переменная для результата вычислений, то MATLAB выводит результаты в переменную с именем ans;
– знаком присваивания является привычный инженерам знак равенства =, а не комбинированный знак :=, как во многих других системах программирования;
– MatLab чувствителен к регистру вводимых символов: строчные и прописные символы букв обозначают разные имена переменных;
– чтобы заблокировать вывод результатов вычисления некоторого выражения в командное окно, после этого выражения необходимо ввести знак ; – точка с запятой;
– встроенные функции (например, sin) записываются строчными буквами, а их аргументы указываются в круглых скобках;
– результат вычислений выводится в строках вывода (без знака »).
Для управления окном командного режима можно использовать следующие команды:
сlс – очищает экран и размещает курсор в левом верхнем углу пустого экрана;
home – возвращает курсор в левый верхний угол окна;
echo ‹имя файла› on – включает режим вывода на экран текста Script-файла (файла-сценария);
echo ‹имя файла› off – выключает режим вывода на экран текста Script-файла;
echo ‹имя файла› – меняет режим вывода на противоположный;
echo on all – включает режим вывода на экран текста всех m-файлов;
echo off all – отключает режим вывода на экран текста всех m-файлов;
more on – включает режим постраничного вывода (полезен при просмотре больших m-файлов);
more off – отключает режим постраничного вывода (в этом случае для просмотра больших файлов надо пользоваться линейкой прокрутки).
В MatLab команды clc и home действуют одинаково – очищают экран и помещают курсор в левый верхний угол окна командного режима работы. Команда echo позволяет включать или выключать отображение текстов m-файлов. Для просмотра длинных листингов файлов полезно включить постраничный вывод командой more on.
Следующий пример (см. рис. 1.1) и приведенный ниже листинг иллюстрирует применение MATLAB в режиме прямых вычислений. В примере задается четырехэлементный вектор V со значениями элементов 1, 2, 3 и 4. Далее (обратите внимание!) вычисляются функции косинуса с аргументом в виде вектора, а не скаляра.
Две записи для вектора: V = [l 2 3 4] и V = [1,2,3,4] – являются идентичными. Таким образом, векторы задаются списком своих элементов, разделяемых пробелами или запятыми. Для выделения n-го элемента вектора V используется выражение V(n). Оно задает соответствующую индексированную переменную.
Операция V*V' – умножение вектора-строки V на вектор-столбец V' – знак ' после обозначения вектора означает его транспонирование. Операция V.*V – поэлементное перемножение векторов: на это указывает знак “точка” перед знаком умножения.
Результат выполнения операции помещается в предопределенную в MatLab переменную с именем ans, если пользователем не определено иное имя. Например, результат последней операции можно сохранить под именем U, если команду ввести следующим образом:
>> U=V.*V
U =
1 4 9 16 .
Аналогичным образом выполняются операции над матрицами.
Матрицы вводятся как последовательность строк, заключенных в квадратные скобки и отделяемых одна от другой с помощью знака “ точка с запятой ”. Например, для ввода матрицы
необходимо использовать следующие команды: V=[1 2 3 4; 5 6 7 8], U=[1 2; 3 4; 5 6; 7 8].
MatLab каждое число, каждую переменную трактует как матрицу и выполняет операции над объектами вычислений по правилам матричной алгебры: одиночное число – матрица размером 1x1, приведенный в примере вектор V – матрица 1x4, V' – матрица 4x1.
Длинные выражения можно переносить на другую строку с помощью знака многоточия ...(3-х или более точек), например:
>>fc = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ...
1/8 + 1/9 - 1/10 + 1/11 - 1/12;
Следующая группа команд иллюстрирует примеры операций с комплексными числами