Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИВТ ЛР 01 Простейшие вычисления.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
722.94 Кб
Скачать

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