39075

MATLAB. Арифметические и логические операции. Графики функций

Лабораторная работа

Информатика, кибернетика и программирование

Задание: Выполнить арифметические и логические операции в том числе с комплексными числами. Комплексные числа. Числа можно считать константами. Числа используются в общепринятом представлении о них.

Русский

2013-09-30

970.82 KB

12 чел.

Лабораторная работа №5

MATLAB. Арифметические и логические операции. Графики функций.

Задание:

  1.  Выполнить арифметические и логические операции, в том числе с комплексными числами.
  2.  Построить графики:

- функции  и  в общем виде (использовать разные стили и масштабы, подписи, легенды, сетки)

- графики функций в полярных координатах, гистограммы

- средства управления в графическом окне, редактирование графиков.

Теоретическая справка:

Арифметические и логические операции. Комплексные числа.

В MatLab можно использовать скаляры, векторы и матрицы, выполгять различные операции – арифметические и логические. Для ввода скаляра достаточно присвоить его значение какой-то переменной, например

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

0

-3

2.301

123.456e-24

-234.456e10

Как нетрудно заметить, в мантиссе чисел целая часть отделяется от дробной не запятой, а точкой, как принято в большинстве языков программирования. Для отделения порядка числа от мантиссы используется символ e. Знак «плюс» у чисел не проставляется, а знак «минус» у числа называют унарным минусом. Пробелы между символами в числах не допускаются.

Числа могут быть комплексными: z=Re(x)+Im(x)*i. Такие числа содержат действительную Re(z) и мнимую Im(z) части. Мнимая часть имеет множитель i или j, означающий корень квадратный из –1:

3i

2j

2+3i

-3.141i

-123.456+2.7e-3i

Функция real(z) возвращает действительную часть комплексного числа,

Re(z), а функция imag(z) – мнимую, Im(z). Для получения модуля комплексного числа используется функция abs(z), а для вычисления фазы – angle(Z). Ниже даны простейшие примеры работы с комплексными числами:

>> i

ans = 0 + 1.0000i

>> j

ans = 0 + 1.0000i

>> z=2+3i

z = 2.0000 + 3.0000i

>> abs(z)

ans = 3.6056

>> real(z)

ans = 2

>> imag(z)

ans = 3

>> angle(z)

ans = 0.9828

Операции над числами по умолчанию выполняются в формате, который принято считать форматом с двойной точностью.

Некоторые константы в MATLAB принято называть системными переменными, поскольку, с одной стороны, они задаются системой при ее загрузке, а с другой – могут переопределяться. Основные системные переменные, применяемые в системе MATLAB, указаны ниже:

• i или j –мнимая единица (корень квадратный из –1);

• pi – число p = 3,1415926…;

• eps – погрешность операций над числами с плавающей точкой (2–52);

• realmin – наименьшее число с плавающей точкой (2–1022);

• realmax – наибольшее число с плавающей точкой (21023)

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

• ans – переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;

• NaN – указание на нечисловой характер данных (Not-a-Number).

Оператор – это специальное обозначение для определенной операции над данными – операндами. Например, простейшими арифметическими операторами являются знаки суммы +, вычитания -, умножения * и деления /. Операторы используются совместно с операндами. Например, в выражении 2+3 знак + является оператором сложения, а числа 2 и 3 – операндами. Операторы также являются распространенными объектами математических выражений и языков программирования.

Следует отметить, что большинство операторов относятся к матричным операциям, что может служить причиной серьезных недоразумений. Например, операторы умножения * и деления / вычисляют произведение и частное от деления двух массивов, векторов или матриц. Есть ряд специальных операторов, например оператор \ означает деление справа налево, а операторы .* и ./ означают, соответственно, поэлементное умножение и поэлементное деление массивов. Ниже приведен список арифметических операторов:

Операторы отношения служат для сравнения двух величин, векторов или матриц, все они имеют две сравнимые величины. Следующая таблица содержит основные операторы отношения:

Логические операторы служат для реализации поэлементных логических операций над элементами одинаковых по размеру массивов согласно следующей таблице

Создание графика

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

Функция plot имеет различные формы, связанные с входными параметрами, например plot(y) создает кусочно-линейный график зависимости элементов y от их индексов. Если в качестве аргументов заданы два вектора, то plot(x,y) создаст график зависимости y от x. Например, для построения графика функции sin в интервале от 0 до 2π, сделаем следующее

Программа построила график зависимости, который отображается в окне Figure 1

Вызов функции plot  с многочисленными парами x-y создает многочисленные графики. Система автоматически присваивает каждому графику свой цвет, что позволяет различать разные наборы данных.

 

Возможно изменение цвета, стиля линий  маркеров, таких как знаки плюс и кружки, следующим образом

Plot(x, y, ‘цвет_стиль_маркер’)

цвет_стиль_маркер – это 1-, 2-, 3- символьная строка (заключенная в одинарные кавычки), составленная из типов цвета, стиля линий и маркеров.

Функция subplot позволяет выводить множество графиков в одном окне или распечатывать их на одном листе бумаги.

subplot (m, n, p)

Разбивает окно изображений на матрицу m на n подграфиков и выбирает p-ый подграфик текущим.

Управление осями

Функция axis имеет несколько возможностей для настройки масштаба, ориентации и коэффициента сжатия.

Обычно MATLAB находит максимальное и минимальное значение и выбирает соответствующий масштаб и маркирование осей. Функция axis заменяет значения по умолчанию предельными значениями, вводимыми пользователем.

Axis([xmin xmax ymin ymax])

В функции axis можно также использовать ключевые слова дляуправления внешним видом осей. Например

axis square - создает x и y оси равной длины, а

axis equal - создает отдельные отметки приращений для x и y осей одинаковой длины. Так функция

plot(exp(i*t)) - следующая либо за axis square, либо за axis equal превращает овал в правильный круг.

axis auto – возвращает значения по умолчанию и переходит в автоматический режим.

axis on – включает обозначения осей и метки промежуточных делений.

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

grid off – выключает сетку координат, а

grid on – включает ее заново.

Например, включение отображения сетки

x = logspace(-1,2);

subplot(2,1,2),loglog(x,exp(x),'-s')

grid on

Функции xlabel, ylabel, zlabel добавляют подписи к соответствующим осям, функция  title  добавляет заголовок в верхнюю часть окна, а функция text вставляет текст в любое место графика. Пример,

В MATLAB реализована функция так называемых легенд legend. Например,

hleg1 = legend('cos_x','sin_x');

На ряду с декартовыми возможно построение графиков функций в полярной системе координат с помощью функции polar. Например,

figure

t = 0:.1:2*pi;

subplot(2,1,1),polar(t,sin(2*t).*cos(2*t),'--r')

А также возможно построение гистограмм с помощью функции hist. Гистограмма  представляет собой столбиковую диаграмму, характеризующую число попаданий элементов вектора v в каждый из k интервалов. Данные для гистограммы получают с помощью следующих функций:

N= hist(Y)

N= hist(Y, M)

N=hist(Y, X)

[N,X]=hist (…)

В функциях приняты обозначения:

- Y – вектор чисел, возвращаемых для десяти интервалов, выбираемых автоматически;

- M – количество интервалов;

- X – вектор.

Команда hist(…) с синтаксисом, описанным в функциях выбора чисел, строит график гистограммы.

x = -4:0.1:4;

y = randn(10000,1);

subplot(2,1,2),hist(y,x)

В MATLAB возможно редактирование графика прямо в графическом окне. Трехмерные графики можно вращать в разные стороны, растягивать, сжимать и прочее


 

А также другие работы, которые могут Вас заинтересовать

45265. GSM. Регистрация в сети 64 KB
  Регистрация в сети. При каждом включении телефона после выбора сети начинается процедура регистрации рис. Рассмотрим наиболее общий случай регистрацию не в домашней а в чужой так называемой гостевой сети будем предполагать что услуга роуминга абоненту разрешена. По номеру IMSI VLR гостевой сети определяет домашнюю сеть и запрашивает ее HLR.
45266. GSM. Обновление местоположения. Аутентификация и защита 91.5 KB
  Обновление местоположения. Один из вариантов определения местоположения периодически сообщать о расположении объектов в каждой соте. Другой крайний случай уведомлять систему при изменении местоположения мобильной станции широковещательным сообщением. Компромиссное решение используемое в GSM оповещение о местоположении при смене группы сот в зоне местоположения приводящей к ухудшению связи.
45267. GSM. Передача соединения (хэндовер). Роуминг 169 KB
  Переключение каналов между базовыми станциями контролируемыми разными BSC но одним MSC. Переключение каналов между базовыми станциями за которые отвечают не только разные BSC но и разные MSC. Варианты хэндовера В общем случае проведение хэндовера задача MSC. Но в двух первых случаях называемых внутренними хэндоверами чтобы снизить нагрузку на коммутатор и служебные линии связи процесс смены каналов управляется BSC а MSC лишь информируется о происшедшем.
45268. Протоколы сети GSM. Общая структура 37.5 KB
  Уровень 1 физический уровень который использует структуры канала рассмотренные выше по воздушному интерфейсу. Уровень 2 уровень звена передачи данных по Um интерфейс уровень звена передачи данных это модифицированная версия LPDпротокола используемого в ISDN; она называется LPDm. Уровень 3 сигнальный протокол из GSM использующий также модифицированную версию LPD; самостоятельно разделен на 3 подслоя.
45269. Протоколы сети GSM. Подсистемы сигнальных протоколов, использование ОКС№7 (BSSAP, DSSMAP) 97 KB
  Структура протоколов GSM Для передачи сигнальных сообщений между центром коммутации мобильной связи MSC и системой базовой станции Bse Sttion System используются MTP Messge Trnsfer Prt и подсистемы управления соединением канала сигнализации SCCP Signling Connection Control Prt которые являются частями системы ОКС № 7. Основные сведения о подсистеме управления соединением канала сигнализации ОКС № 7 SCCPCSS№7 Система управления соединением канала сигнализации SCCP Signling Connection Control Prt управляет логическими...
45270. Принципы построения сети сотовой связи на основе CDMA (многостанционный доступ с кодовым разделением каналов) 403 KB
  Каналы трафика и управления В CDM каналы для передачи от базовой станции к мобильной станции называются прямыми Forwrd. В обратном направлении подвижные станции отвечают асинхронно без использования пилотного сигнала при этом уровень мощности приходящий к базовой станции от каждой подвижной станции одинаков. Состав прямых каналов Пилотный канал Pilot Chnnel предназначен для установления начальной синхронизации контроля уровня сигнала базовой станции по времени частоте и фазе идентификации базовой станции. Канал синхронизации SCH ...
45271. Сеть общеканальной сигнализации ОКС- 7. Принципы построения, режимы 47.5 KB
  Сеть общеканальной сигнализации ОКС 7. Рисунок по структуре протоколов В системе ОКС7 сигнальные сообщения передаются по отдельными звеньям сигнализации причем одно звено сигнализации может передавать сигнальные сообщения для большого числа разговорных каналов. Для обеспечения избыточности в другой системе ИКМ как правило предоставляется дополнительный канал сигнализации. ОКС7 имеет собственную сеть сигнализации независимую от разговорной сети.
45272. Уровни и подсистемы ОКС-7 55 KB
  Верхний уровень ОКС7 включает подсистемы: обеспечивание транзакций TCP пользовательские ISUP MUP HUP сервисные элементы прикладного уровня SL уровень подвижной связи стандарта GSMMP прикладная подсистема интеллектуальной сети INP подсистема эксплуатации техническое обслуживание и административное управление OMT. Подсистема пользователя ОКС7 обеспечивает функции сигнализации необходимые для обслуживания вызовов в телефонной сети и в сети ISDN а также для поддержки дополнительных услуг в ISDN. Подсистема...
45273. Подсистема передачи сообщений (МТР) ОКС-7 54.5 KB
  Для передачи сигнальной информации между пунктами сигнализации и для управления SCCP. МТР1: определяет физические электрические и функциональные характеристики канала передачи данных для звена сигнализации. МТР2: определяет функции и процедуры относящиеся к передаче сигнальных сообщений по звену сигнализации между двумя напрямую связанными пунктами сигнализации. Сочетание МТР1 и МТР2 организует звено сигнализации для передачи...