Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_раб_10.doc
Скачиваний:
2
Добавлен:
19.07.2019
Размер:
158.72 Кб
Скачать

11. Анализ электрических цепей с использованием программы Matlab Командный режим работы с Matlab Введение и основные понятия

После запуска на экране появляется основное окно системы Matlab (см. рис. 1), которое делится на несколько окон. В «командном окне» (Command Window) пользователь задает переменные, производит необходимые вычисления, наблюдает результаты вычислений. Окно «история команд» (Command History) показывает выражения, ранее введенные пользователем в текущем и прошлых сеансах работы. Окно Current Directory («текущий каталог») предназначено для просмотра файлов и работы с ними. Окно Workspace («рабочая область») позволяет просматривать существующие в рабочей области памяти объекты, редактировать их содержимое и удалять их из памяти.

Рис. 1

Работа в командном окне происходит в режиме диалога “вопрос – ответ”. Пользователь вводит необходимые выражения после знака >>. Вычисления производятся после нажатия клавиши Enter. Если пользователем не указана переменная, которой присваивается результат вычислений, то Matlab назначает переменную ans, значение которой затем выводится на экран (см. рис. 1).

Математические выражения строятся на основе чисел, констант, переменных, операторов, функций и разных спецзнаков. Дадим краткую характеристику каждому из этих понятий.

Число – простейший объект языка Matlab. Числа могут быть целыми, дробными, с фиксированной и плавающей точкой. Они также могут быть комплексными. Ниже представлены примеры задания чисел:

>> 5;

>> 5.25

ans =

5.2500

>> 1.67e-23;

>> 2+3j

ans =

2.0000 + 3.0000i

Замечание:

1) оператор “ ; ”, введенный после выражения блокирует вывод результата; 2) если специально не задать формат числа, то оно будет иметь формат с двойной точностью – double.

Константа – это предварительно определенное числовое или символьное значение, представленное уникальным именем. Числа являются безымянными числовыми константами. Константы, задаваемые системой при загрузке, принято называть системными переменными. Системные переменные могут быть изменены пользователем в процессе работы. Ниже представлены некоторые из них:

i или j – мнимая единица;

pi – число π;

inf – значение машинной бесконечности;

ans – переменная, хранящая результат последней операции;

NaN – указание на нечисловой характер данных.

Переменные – это имеющие имена объекты, способные хранить некоторые данные. Для задания переменным какого-либо значения используется операция присваивания, вводимая знаком равенства = (см. рис. 1)

Имя_переменной = Выражение;

Типы переменных заранее не декларируются. Они определяются выражением, значению которого присваивается переменная. Имя переменной (ее идентификатор) может содержать сколько угодно символов, но запоминаются и идентифицируются только первые 31 символов. Имя переменной не должно совпадать с именами других переменных и функций системы.

>> sin = 5;

>> sin(1)

ans =

5

Имя должно начинаться с буквы, может содержать буквы, цифры и знак подчеркивания « _ ».

Для удаления переменных из рабочей области (Workspace) используется команда clear, которая имеет следующие формы записи:

сlear – удаление всех переменных;

clear x – удаление переменной x;

clear a b c – удаление нескольких переменных.

Оператор – это специальное обозначение для определенной операции над заданными операндами. Полный список операторов можно посмотреть, используя команду >>help ops. Ниже показаны наиболее часто применяемые операторы

>> help ops

Operators and special characters.

Arithmetic operators.

plus - Plus +

uplus - Unary plus +

minus - Minus -

uminus - Unary minus -

mtimes - Matrix multiply *

times - Array multiply .*

mpower - Matrix power ^

power - Array power .^

mldivide - Backslash or left matrix divide \

mrdivide - Slash or right matrix divide /

ldivide - Left array divide .\

rdivide - Right array divide ./

Функции – это имеющие уникальные имена объекты, которые по входным параметрам рассчитывают результат и возвращают его в содержащее функцию выражение. Входные параметры (аргументы) задаются в круглых скобках. Список элементарных функций вызывается командой help elfun, специальных функций – с помощью команды help specfun.

Задание числовых последовательностей и их визуализация

Очень часто возникает необходимость задания числовых последовательностей (например, для задания сигналов). Для этого в Matlab используется оператор : (двоеточие), который записывается следующим образом:

Начальное_значение : Шаг : Конечное значение

Если значение шага не указано, то он автоматически принимается равным единице. Ниже приведен пример использования оператора : (двоеточие):

>> X=2:7

X =

2 3 4 5 6 7

>> Y=12:-3:-3

Y =

12 9 6 3 0 -3

Замечание:

1) результат выполнения оператора : (двоеточие) – вектор- строка;

2) для создания вектора из N точек, равномерно распределенных на отрезке [X1,X2] можно использовать функцию linspace(X1,X2,N).

Для отображения графика функции одного переменного служат команды plot и stem. Рассмотрим варианты записи команды plot:

plot(X,Y) – в декартовой системе координат строит график из отрезков прямых, соединяющих точки, координаты которых заданы векторами X и Y. Вектора X и Y должны быть одного размера;

plot(Y) – тоже самое, но координаты по оси абсцисс представляют собой индексы элементов вектора Y;

plot(X,Y,S) – аналогична команде plot(X,Y), но дополнительно можно задать тип линии, ее цвет и тип маркера с помощью строковой константы S. О значениях константы S можно узнать набрав команду help plot;

plot(X1,Y1,S1,X2,Y2,S2,…) – команда построения нескольких зависимостей в одной системе координат.

Варианты записи команды stem аналогичны. На нижеприведенном примере показана разница в графическом изображении синусоидального сигнала с помощью команд plot и stem:

>> x=linspace(0,3*pi,50);

>> y=sin(x);

>> subplot(2,1,1);

>> plot(x,y);

>> title('Функция plot');

>> grid on;

>> subplot(2,1,2);

>> stem(x,y);

>> title('Функция stem');

>> grid on;

В результате получены графики, представленные на рис. 2. В данном примере были использованы команды оформления графика. Команда grid on включает отображение сетки, title(‘Название’) – помещает текст ‘Название’ в заголовок графика.

Рис. 2

Команда subplot(i,j,N) позволяет отображать несколько координатных осей в одном графическом окне. При этом если представить графическое окно как матрицу, элементами которой являются оси координат, то i – число строк, j – число столбцов, N – номер текущего элемента.

Замечание:

1) помимо функций plot и stem существуют и другие функции построения графиков;

2) редактировать график можно как в командном режиме, так и непосредственно в графическом окне.

Автоматизация командного режима работы. Сценарии

В процессе работы может возникнуть необходимость многократного повторения одних и тех же вычислений. Для этого в командном окне необходимо несколько раз ввести один и тот же текст программы, что крайне неудобно. Для автоматизации работы с Matlab в этих случаях используют файлы – сценарии.

Под сценарием понимают текстовый файл, содержащий инструкции на М-языке. Файл сценария имеет фиксированное расширение – .m. Файлы, имеющие расширение .m и содержащие произвольный текст программы на М-языке принято называть М-файлами. Имя М-файла может быть произвольным. Для создания текстовых файлов – сценариев удобно пользоваться встроенным в Matlab текстовым редактором (см. рис. 3). Этот редактор вызывается щелчком мыши по иконке “чистый чист” на панели инструментов, либо через меню: File / New /M-file.

Рис. 3

Переменные, определенные в командном окне и сценариях составляют единое рабочее пространство системы Matlab, потому в сценариях можно использовать переменные, заданные в командном окне (см. рис. 3). Перед запуском сценарий необходимо сохранить на диске. Каталог, в котором будет сохранен сценарий, может быть любым, но путь к этому каталогу должен быть известен Matlab. Ниже приведен пример сценария решения квадратного уравнения.

% Решение квадратного уравнения

% Коэффициенты квадратичного полинома следует вводить в виде вектора,

% состоящего из трех элементов (пример: [1 -5 6])

clc;

Koef = input('Введите коэффициенты [a b c] : ');

D = Koef(2)^2-4*Koef(1)*Koef(3);

X(1) = (-Koef(2)+sqrt(D))/(2*Koef(1));

X(2) = (-Koef(2)-sqrt(D))/(2*Koef(1));

X % Вывод корней уравнения на экран

Любой текст, расположенный после знака %, является комментарием. Комментарии используются для облегчения работы с текстом программы как самого разработчика, так и пользователей. Особо важны комментарии, находящиеся вначале сценария, т.к. они будут показаны при использовании команды help. Ниже показан пример использования команды help. Urav – имя файла сценария, приведенного выше.

>> help urav

Решение квадратного уравнения

Коэффициенты квадратичного полинома следует вводить в виде вектора,

состоящего из трех элементов (пример: [1 -5 6])

Команда clc очищает командное окно. Функция input позволяет организовать ввод данных пользователем, sqrt – извлекает квадратный корень.

Пользователь данной процедуры должен ввести вектор (одномерный массив) коэффициентов квадратичного полинома. Для формирования массивов в Matlab используются квадратные скобки. Ниже приведено несколько примеров формирования массивов.

>> A = [1 2 3 4 5]

A =

1 2 3 4 5

>> B = [1,2,3,4,5]

B =

1 2 3 4 5

>> C = [1;2;3]

C =

1

2

3

>> D = [1 2; 3 4]

D =

1 2

3 4

Знак « , » или « » (пробел) разделяют элементы по столбцам, а « ; » – по строкам.

Для приобретения базовых навыков работы с программой и использования их при анализе электрических цепей должен быть освоен командный режим работы с Matlab, создание сценариев, функций и средств графической визуализации результатов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]