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 возможно редактирование графика прямо в графическом окне. Трехмерные графики можно вращать в разные стороны, растягивать, сжимать и прочее


 

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

44693. Механические характеристики исполнительных механизмов. Установившиеся режимы 122.64 KB
  Нормальная безаварийная работа двигателя возможна только тогда, когда его действительный режим работы не превышает условий номинального режима. Для работы в номинальном режиме электродвигатель построен заводом изготовителем.
44694. Передача механической энергии при подъёме и спуске груза 99.14 KB
  При подъёме груза двигатель развивает мощность, которая затрачивается на преодоление сопротивления статического момента механизма. Часть мощности двигателя передаётся рабочему органу механизма
44696. Депарафинизация масляного сырья кристаллизацией из растворов 22.09 KB
  В настоящее время в качестве растворителя применяют также высшие кетоны – метилизобутилкетон, метилизопропилкетон и др. Высшие кетоны не требуют добавления в растворитель толуола.
44700. Особенности Экспорта 418.5 KB
  Экспорт Схемы в Графический Файл и Текстовый файл Профессиональный уровень Изготовителя Образца позволяет Вам экспортировать вашу диаграмму образца в следующие типы графических изображений: BMP JPEG TIFF RGB CMYK и 8 битов полутоновый GIF PCX WMF EMF и EPS 8 битов полутоновых растровых только. Информация вашей схемы может экспортироваться в Формат RTF RTF файл. Это откроет Мастер Экспорта схемы который будет вести Вас через процесс экспорта.