ТОП 10:

Основные сведения о системе Matlab



Основные сведения о системе Matlab

Система Matlab (сокращение от MATrix LABoratory –МАТричная ЛАБоратория) является интерактивной системой для выполнения инженерных и научных расчетов, ориентированной на работу с массивами данных.

Основным объектом системы Matlab является прямоугольный числовой массив, который допускает комплексные элементы и ввод матриц без явного указания их размеров. По умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Отдельное заданное число программа воспринимает как матрицу размером 1´1, а вектор-строку с N элементами – как матрицу размером 1´N.

Работа в среде Matlab может осуществляться в двух режимах:

- в режиме калькулятора, когда вычисления производятся непосредственно после набора очередного оператора или команды Matlab;

- путем вызова программы, составленной и записанной на диске на языке Matlab.

Работа в режиме калькулятора

Ввод данных

Ввод чисел с клавиатуры производится по правилам:

- для отделения дробной части мантиссы числа применяется десятичная точка;

- десятичный показатель числа записывается в виде целого числа после записи символа е;

- между записью мантиссы числа и символом е не должно быть никаких символов, в т.ч. и символов пробела.

Для записи промежуточных результатов в память ПК можно использовать имена переменных. Для этого применяется операция присваивания:

<имя переменной> = <выражение> [;]

Имена переменных могут содержать лишь буквы латинского алфавита или цифры и должны начинаться с буквы. Общее число символов в имени может достигать 19. Особенностью языка Matlab является то, что прописные и строчные буквы в именах различаются системой. Например, имена «а» и «А» обозначают разные переменные.

Если выражение не заканчивается символом «;», результат его выполнения будет выведен в командное окно в виде:

<имя переменной> = <результат>

Ввод значений элементов матрицы осуществляется в квадратных скобках по строкам. Элементы строки отделяются друг от друга пробелом или запятой, а строки отделяются друг от друга знаком «;».

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

<имя переменной> = <значение действительной части> + i [j] * < значение мнимой части>

Переменные, зарезервированные системой Matlab:

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

pi – число p (3,141592653589793);

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

NaN – обозначение неопределенного результата (например, типа 0/0 или inf/inf);

ans – результат последней операции без знака присваивания.

3.2 Некоторые функции формирования матриц. Простейшие операции над матрицами

zeros(m,n) – создает матрицу m´n с нулевыми элементами.

ones(m,n) – создает матрицу m´n с единичными элементами.

eye(m,n) – создает матрицу m´n с единичными элементами по главной диагонали и остальными нулевыми элементами.

inv(A) – вычисляет матрицу, обратную матрице А.

А– вычисляет матрицу .

eig(A) – вычисляет массив собственных чисел матрицы А, т.е. корни характеристического полинома .

[А В] – конкатенация (объединение) матриц А и В.

Элемент матрицы А, находящийся на пересечении i-той строки и j-того столбца, обозначается A(i,j). Для доступа к i-той строке матрицы А следует указать: A[i,:]. Для доступа к j-тому столбцу матрицы А следует указать: A[:,j]. Для доступа к i-тому элементу вектора v следует указать v[i].

Задание

Вычислите значение выражения ,

где .

Для этого введите

» A=[1 0 2 1; 0 2 1 0; 2 1 0 0; 1 0 0 0]

A =

1 0 2 1

0 2 1 0

2 1 0 0

1 0 0 0

» B=[1 1 1 1; 2 1 -2 -1; 0 0 0 5]

B =

1 1 1 1

2 1 -2 -1

0 0 0 5

» C=[1; 0; -2]

C =

-2

» E=eye(4)

E =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

» (inv(A)-E)*B'*C% можно (A^-1-E)*B'*C

ans =

-10

-38

Получите матрицу F=[A BT]. Для этого введите:

» F=[A B']

F =

1 0 2 1 1 2 0

0 2 1 0 1 1 0

2 1 0 0 1 -2 0

1 0 0 0 1 -1 5

Создайте вектор-строку v, состоящую из элементов третьей строки матрицы А. Для этого введите:

» v=A(3,:)

v =

2 1 0 0

Присвойте элементу А2,3 значение –5. Для этого введите:

» A(2,3)=-5

A =

1 0 2 1

0 2 -5 0

2 1 0 0

1 0 0 0

Присвойте элементу v4значение элемента А2,3. Для этого введите:

» v(4)=A(2,3)

v =

2 1 0 -5

End

Оператор условия if ... end вычисляет некоторое логическое выражение и выполняет соответствующую группу операторов в зависимости от значения этого выражения. Если <логическое выражение1> истинно, то выполняется группа операторов1, если же оно ложно проверяется <логическое выражение2>, если оно истинно, то выполняется группа операторов2, в противном же случае выполняется группа операторов3. Оператор elseif может многократно использоваться внутри оператора условия if ... end.

Оператор цикла с предпроверкой условия выхода:

while <логическое выражение>

группа операторов

End

Оператор цикла многократно выполняет группу операторов, пока <логическое выражение> истинно.

Выход из while–цикла можно осуществить посредством вызова функции break.

Оператор цикла с предопределенным числом повторений:

for <переменная цикла>=<начальное значение>:<приращение >:<конечное значение>

группа операторов

End

Оператор цикла for ... endвыполняет группу операторов заранее определенное число повторений. По умолчанию приращение равно единице. Но можно также задавать любое приращение, в том числе отрицательное или нецелое число. В качестве переменной цикла можно так же использовать и массивы, в этом случае цикл будет выполняться столько раз, сколько столбцов в матрице. При этом переменная цикла будет представлять из себя вектор-столбец соответствующий столбцу матрицы на каждом шаге цикла.

Задание

Создайте и выведите на экран таблицу значений функции y=sin(x) при изменении х в диапазоне от 0 до 2p с шагом p/10. Для этого введите:

»M=[ ];

» for x=0:pi/10:pi

M=[M;[x sin(x)]];

End; M

M =

0 0

0.3142 0.3090

0.6283 0.5878

0.9425 0.8090

1.2566 0.9511

1.5708 1.0000

1.8850 0.9511

2.1991 0.8090

2.5133 0.5878

2.8274 0.3090

3.1416 0.0000

Построение графиков

Основной функцией, осуществляющей построение графиков на экране дисплея, является функция plot. Общая форма обращения к данной функции такова:

plot(x1,y1,linespec1,x2,y2, linespec2,…)

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

Команда plot(y) строит график вектора у, используя в качестве аргумента порядковый номер элементов вектора. Если у – вектор комплексных чисел, то команда plot(y) отображает на комплексной плоскости элементы вектора, т. е. действует аналогично команде plot(real(y),imag(y)).

Ниже приведены некоторые процедуры оформления графиков:

grid – нанесение координатной сетки.

title – заголовок графика.

xlabel –название оси х.

ylabel – название оси у.

Чтобы создать несколько графических окон, необходимо воспользоваться командой figure, которая создает новое графическое окно, оставляя предыдущие.

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

subplot(n,m,p)

где число n указывает, на сколько частей делится поле графика по вертикали; m – по горизонтали; p – номер графического подокна, в котором будет строиться график. Подокна нумеруются слева направо, сверху вниз.

Задание

Выведите в одном графическом окне графики функций и при изменении t от 0 до 10, нанеся координатную сетку, подписав оси координат и дав название графику. А затем во втором графическом окне постройте графики указанных функций в разных подокнах. Для этого введите:

» t=0:0.01:10;

» f1=exp(-t); f2=exp(-t/2);

» plot(t,f1,t,f2); grid; xlabel('t'); ylabel('f1, f2');

» title('Графики функций f1=exp(-t) f2=exp(-t/2)')

» figure;

» subplot(2,1,1); plot(t,f1); grid;

» xlabel('t'); ylabel('f1'); title(' График функции f1(t)=exp(-t))');

» subplot(2,1,2); plot(t,f2); grid;

» xlabel('t'); ylabel('f2'); title(' График функции f2(t)=exp(-t/2))');

Выведите в третьем окне распределение элементов вектора . Для этого введите:

» V=[-1-2i -1+2i 3i -3i 0.5 -1.5]; plot(V,'*');

Задание

Осуществите очистку рабочей области памяти и очистку экрана. Для этого введите:

» clear; clc;

4 Исследование линейных стационарных систем управления с помощью средств пакета прикладных программ control system toolbox

Анализ САУ

Пакет CONTROL представляет широкий набор процедур, осуществляющих анализ САУ с самых различных точек зрения.

Для нахождения временных откликов системы на внешние воздействия некоторых видов предусмотрены функции:

impulseНахождение реакции системы на единичное импульсное входное воздействие.

step Нахождение реакции системы на единичный скачок входного воздействия.

initial Определение собственного движения при произвольных начальных условиях.

lsimОпределение реакции системы на входное воздействие произвольной формы, задаваемое в виде вектора его значений во времени.

Некоторые процедуры анализа систем в комплексной области:

bode Строит графики АЧХ и ФЧХ (диаграмму Боде) указанной системы.

nyquist Строит в комплексной плоскости график АФЧХ системы

marginСтроит диаграмму Боде с указанием запасов по амплитуде и фазе. (Для одномерных систем).

Задание

Создание М-файлов

Создание программы в среде Matlab осуществляется либо при помощи собственного встроенного (начиная с версии Matlab 5), либо стороннего текстового редактора, который вызывается автоматически, если он предварительно установлен с помощью команды Preferences меню File. Чтобы создать новый М-файл, нужно вызвать команду меню File®New®M-file.

В языке Matlab имеются программы двух типов: так называемые Script-файлы (файл-сценарии или управляющие программы) и файл-функции (процедуры).Файлы обоих типов имеют расширение «.m». При помощи Script-файлов оформляются основные программы, управляющие от начала и до конца организацией всего вычислительного процесса, или отдельные части основных программ. Как файл-функции оформляются отдельные процедуры и функции (т.е. такие части программы, которые рассчитаны на неоднократное использование Script-файлами или другими процедурами при изменяемых значениях входных параметров).

Главным отличием текстов этих двух видов файлов является то, что файл-функции имеют первую строку вида:

function <ПКВ> = <имя процедуры> (<ПВВ>)

где ПКВ – Перечень Конечных Величин, ПВВ – Перечень Входных Величин.

Script-файлы такой строки не имеют.

Основные особенности записи текста М-файла:

- обычно каждый оператор записывается в отдельной строке текста программы. Признаком конца оператора является символ (он не появляется в окне) возврата каретки и перехода на следующую строку, который вводится в программу при нажатии клавиши [Enter];

- можно размещать несколько операторов в одной строке. Тогда предыдущий оператор должен заканчиваться символом «,» или «;»;

- длинный оператор можно записывать в несколько строк. При этом предыдущая строка оператора должна заканчиваться тремя точками «…»;

- если оператор не заканчивается символом «;», результат его действия при выполнении программы будет выведен в командное окно;

- строка программы, начинающаяся с символа «%» не выполняется. Эта строка воспринимается системой Matlab как комментарий;

- строки комментария, предшествующие первому выполняемому оператору программы, воспринимаются системой Matlab как описание программы. Именно эти строки выводятся в командное окно, если в нем набрана команда:

help <имя файла>

- в программах на языке Matlab отсутствует оператор окончания текста программы;

- в языке Matlab переменные не описываются и не объявляются. Любое новое имя, появляющееся в тексте программы, воспринимается системой Matlab как имя матрицы. Размер этой матрицы устанавливается при предварительном вводе значений ее элементов либо определяется действиями по установлению значений ее элементов, описанными в предыдущем операторе или процедуре. В языке Matlab невозможно использование матрицы или переменной, в которой предварительно не введены или не вычислены значения её элементов (а значит, и не определены размеры этой матрицы). В этом случае при выполнении программы Matlab выдаст сообщение об ошибке «Переменная не определена».

- имена переменных могут содержать лишь буквы латинского алфавита или цифры и должны начинаться с буквы. Общее число символов в имени может достигать 19. Особенностью языка Matlab является то, что прописные и строчные буквы в именах различаются системой. Например, символы «а» и «А» могут использоваться в одной программе для обозначения разных величин.

Задание

Создайте Script-файл с программой, выполняющей следующие действия:

1) очистку рабочей области памяти и очистку экрана (п. 3.5);

2) создание модели ДПТ в виде модели пространства состояний (п. 4.2);

3) создание графического окна «Временные характеристики системы», в котором расположены графики импульсной и переходной характеристик системы в разных подокнах (п. 4.3);

4) создание второго графического окна «Частотные характеристики системы», в котором расположены диаграмма Боде и АФЧХ системы в разных подокнах (п. 4.3).

По умолчанию созданные М-файлы сохраняются в каталоге …\Matlab\Work\. Чтобы сделать рабочим другой каталог, воспользуйтесь командой «Set Path» меню «File». В открывшемся диалоговом окне «Path Browser» вы увидите перечень путей, которые автоматически проверяются системой Matlab при поиске файлов. Введите путь к вашему каталогу в поле «Current Directory», чтобы сделать нужный каталог текущим.

Задание

Ознакомьтесь со справочными сведениями об изученных функциях. Просмотрите демонстрационную программу Toolboxes\Control System\Model Analysis Example.

Контрольные вопросы

- Назовите основной вычислительный объект MatLab.

- Вычилите выражение для произвольных матриц А,В,С размерности 3´3 и единичной матрицы Е размерности 3´3.

- Постройте графики функций sin(t) и cos(3t) при tÎ[0,2p] с шагом 0,01p:

а) в двух разных графических окнах;

б) в одном графическом окне в одной системе координат;

в) в одном графическом окне в двух разных системах координат, расположенных друг под другом.

 

Составитель: аспирант каф. ТК Старинская Д.Н.

Основные сведения о системе Matlab

Система Matlab (сокращение от MATrix LABoratory –МАТричная ЛАБоратория) является интерактивной системой для выполнения инженерных и научных расчетов, ориентированной на работу с массивами данных.

Основным объектом системы Matlab является прямоугольный числовой массив, который допускает комплексные элементы и ввод матриц без явного указания их размеров. По умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Отдельное заданное число программа воспринимает как матрицу размером 1´1, а вектор-строку с N элементами – как матрицу размером 1´N.

Работа в среде Matlab может осуществляться в двух режимах:

- в режиме калькулятора, когда вычисления производятся непосредственно после набора очередного оператора или команды Matlab;

- путем вызова программы, составленной и записанной на диске на языке Matlab.







Последнее изменение этой страницы: 2016-04-26; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.173.57.84 (0.018 с.)