- •Лабораторная работа №1
- •1. Графический интерфейс пользователя matlab
- •2. Структура окна Command Window
- •3. Браузер рабочей области – окно Workspace.
- •4. Интерфейс редактора м-файлов
- •5. Matlab в роли суперкалькулятора.
- •5.3. Действия над матрицами
- •6. Основные объекты matlab
- •7. Константы и системные переменные
- •8. Текстовые комментарии
- •9. Переменные и присваивание им значений
- •10. Операторы и функции
- •11. Функции комплексного аргумента
- •12. Погрешность измерения величин
- •Контрольные вопросы
- •Практические задания
8. Текстовые комментарии
Поскольку MATLAB используется для достаточно сложных вычислений, важное значение имеет наглядность их описания. Она достигается, в частности, с помощью текстовых комментариев. Текстовые комментарии вводятся с помощью символа % в начале строки:
% Комментарий
9. Переменные и присваивание им значений
Переменные – это имеющие имена объекты, способные хранить некоторые данные. В зависимости от этих данных переменные могут быть
– числовыми или символьными;
– векторными или матричными.
В системе MATLAB можно задавать переменным определённые значения. Для этого используется операция присваивания, вводимая знаком равенства:
Имя переменной = Выражение
Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Так, если это выражение – вектор или матрица, то переменная будет векторной или матричной.
9.1. Имя переменной (идентификатор)
может содержать сколько угодно символов, но запоминается и идентифицируется только 31 начальный символ.
имя любой переменной не должно совпадать с именами других переменных, функций и процедур системы, то есть оно должно быть уникальным.
имя должно начинаться с буквы, может содержать буквы, цифры и символ подчёркивания _ недопустимо включать в имена переменных пробелы и специальные знаки, например +, -, *, / и т. д., поскольку в этом случае правильная интерпретация выражений становится невозможной.
желательно использовать для обозначений переменных содержательные имена, например speed_l для переменной, обозначающей скорость первого объекта.
переменные могут быть обычными и индексированными, то есть элементами векторов или матриц;
могут использоваться и символьные переменные, причём символьные значения заключаются в апострофы, например s='Demo'.
9.2. Уничтожение определений переменных
Как мы уже рассматривали, в памяти компьютера переменные занимают определённое место, называемое рабочим пространством (workspace). Для очистки рабочего пространства используется функция clear в разных формах, например:
– clear – уничтожение определений всех переменных;
– clear х – уничтожение определения переменной х;
– clear a, b, с – уничтожение определений нескольких переменных.
Уничтоженная (стёртая в рабочем пространстве) переменная становится неопределённой. Использовать такие переменные нельзя, и такие попытки будут сопровождаться выдачей сообщений об ошибке.
10. Операторы и функции
Оператор – это специальное обозначение для определённой операции над данными – операндами. Например, простейшими арифметическими операторами являются знаки суммы ( + ), вычитания ( – ), умножения ( * ) и деления ( / ).
Операторы используются совместно с операндами. Например, в выражении 2+3 знак + является оператором сложения, а числа 2 и 3 – операндами.
Следует отметить, что большинство операторов относится к матричным операциям, что может служить причиной серьёзных недоразумений.
Например, операторы умножения ( * ) деления ( / ) и возведения в степень ( ^ ) вычисляют произведение, частное от деления и возведение в степень двух массивов, векторов или матриц. Есть ряд специальных операторов, например оператор ( \ ) означает деление справа налево, а операторы (.*) (./) и (.^) означают почленное умножение, деление и возведение в степень массивов.
Следующие примеры поясняют сказанное на примере операций с векторами:
>> V1 = [2 4 6 8]
V1 =
2 4 6 8
>> V2 = [l 2 3 4]
V2 =
1 2 3 4
>> V1 / V2
Ans =
2
>> V1 .* V2
ans =
2 8 18 32
10.1. Арифметические операторы и функции
Арифметические операторы являются самыми распространёнными и известными. В отличие от большинства языков программирования, в системе MATLAB практически все операторы являются матричными, то есть, предназначены для выполнения операций над матрицами. В табл. 1 приводится список арифметических операторов и синтаксис их применения.
Таблица 1
-
Функция
Название
Оператор
Синтаксис
plus
Плюс
+
M1 + M2
unplus
Унарный плюс
+
+ M
minus
Минус
--
M1 - M2
unminus
Унарный минус
-
- M2
mtimes
Матричное умножение
*
M1 * M2
times
Почленное умножение массивов
.*
A1.* A2
mpower
Возведение матрицы в степень
^
M1 ^ x
power
Почленное возведение матрицы в степень
.^
A1. ^x
mldivide
Обратное (справа налево) деление матриц
\
M1 \ M2
mrdivide
Деление матриц слева направо
/
M1 / M2
idivide
Почленное деление массивов справа налево
.\
A1. \ A2
rdivide
Почленное деление массивов слева направо
./
A1. / A2
kron
Тензорное умножение Кронекера
kron
kron ( X, Y )
10.2. Элементарные встроенные функции
В тригонометрических функциях углы измеряются в радианах. Все функции могут использоваться в конструкции вида y = func(x), где func – имя функции. Обычно в такой форме задаётся информация о функции в системе MATLAB. Мы, однако, будем использовать для функций, возвращающих одиночный результат, более простую форму func(x). Форма [y,z,...] = func(x,...) будет использоваться только в тех случаях, когда функция возвращает множественный результат.
10.3. Алгебраические и арифметические встроенные функции
abs (X) возвращает абсолютную величину для каждого числового элемента вектора X. Если X содержит комплексные числа, abs (X) вычисляет модуль каждого числа. Примеры:
>> abs (-5)
ans =
5
>> abs ([l - 2i 3i 2 + 3i)
ans =
2.2361 3.0000 3.6056
ехр (Х) возвращает экспоненту для каждого элемента X.
>> ехр ([1 2 3])
ans =
2.7183 7.3891 20.0855
factor (n) возвращает вектор-строку, содержащую простые множители числа n. Для массивов эта функция неприменима. Пример:
>> f = factor (5)
f =
120
sqrt (x)-вычисление квадратного корня из элементов массива х. Для отрицательных и комплексных элементов x функция принимает комплексные значения.
> sqrt (25)
ans =
5
>> sqrt (-25)
ans =
0 + 5.0000i
Вычисление логарифмов
1) log (x) - натуральный логарифм,
2) log2 (x) - возвращает логарифм по основанию 2 элементов массива х.
3) log10 (x) - по основанию 10
Примеры:
>> x = [1. 2 3. 34 5 2. 3]
x =
1. 2000 3. 3400 5. 0000 2. 3000
>> log (x)
ans =
0. 1823 1. 2060 1. 6094 0. 8329
>> log 10 (x)
ans =
0. 0792 0. 5237 0. 6990 0. 3617
>> log 2 (x)
ans =
0. 2630 1. 7398 2. 3219 1 .2016
10.4. Тригонометрические и обратные встроенные функции
Для тригонометрических функций sin (x), asin (x), cos (x), acos (x), tan (x), atan (x), cot (x) возвращается значение функции для каждого элемента Х (если задан вектор).
Примеры:
>> x = [1 3 5 2.3]
x =
1. 0000 3. 0000 5. 0000 2. 3000
>> cos (x)
ans =
0. 5403 -0. 9900 0. 2837 -0. 6663
10.5. Примеры записи математических выражений
При записи на языке программирования любое математическое выражение должно быть "вытянуто в одну строчку", а приоритет операций регулируют скобки. Рассмотрим в табл. 2 несколько примеров записи выражений.
Таблица 2
