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

1.2. Операции с числами

Числа – простейшие объекты MatLAB – представляют количественные данные. Они могут быть целыми, дробными, с фиксированной или плавающей точкой. Возможно их представление в научном формате. MatLAB поддерживает работу с комплексными числами. Для обозначения мнимой части комплексного числа используются символы i и j — 3i 5+5j 5+j*5 i+3 2.1+1.9e–2j .

Для осуществления арифметических операций над числами применяются стандартные знаки математических операций: + , – , * , / , ^ (возведение в степень), \ (обратное деление). При вычислении арифметических выражений для установления порядка действий обычным образом используются круглые скобки. Числовые значения можно присваивать пользовательским переменным с помощью знака "равно" = . Имена переменных (до 19 символов) пользователь задает произвольно, строчные и прописные символы в именах переменных различаются. Желательно, чтобы имена переменных не совпадали с именами функций и системных переменных MatLAB. Список имен системных переменных и констант приведен в приложении А1. Формат представления чисел устанавливается в меню FilePreferences.

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

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

  • pi – число "пи"  = 3.141592653589793… (формат LongE);

  • eps – погрешность вычислений (2.220446049250313e–016);

  • realmin – минимальное по модулю вещественной число (2.225073858507201e–308);

  • realmax – максимальное по модулю вещественное число (1.797693134862316e+308);

  • inf – машинная бесконечность (символьная константа);

  • ans – переменная для хранения результата последней операции;

  • NaN – флаг нечислового характера результата вычисления или данных.

1.3. Операции с векторами и матрицами

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

Для задания векторов и матриц используются квадратные скобки. Сначала указывается имя вектора (матрицы), затем ставится знак присваивания (=), далее открывающая квадратная скобка, потом вводятся элементы вектора или матрицы, и в конце – закрывающая квадратная скобка.

Вектор-строка задается так V=[1 2 3, 4 5]. Компоненты вектор-строки разделяются либо пробелами, либо запятыми (эти разделители можно использовать совместно (смешивать)).

Матрица вводится как совокупность нескольких вектор-строк одинакового размера. Эти строки при вводе разделяются точкой с запятой.

M=[1 2 3; 4 5 6; 7 8.5 9].

В качестве значений компонент векторов и матриц можно использовать математические выражения (в том числе и комплекснозначные) и диапазоны.

» V=[pi 2/3 1:3]

V = 3.1416 0.6667 1.0000 2.0000 3.0000

Использование оператора двоеточие (:) позволяет пользователю сокращенным способом вводить элементы вектора, значения которого являются арифметической прогрессией (см. выше оператор двоеточие).

Для указания отдельного компонента вектора или матрицы используются круглые скобки, в которых указывается индекс(ы) элемента V(4) 2.0000 M(2,3) 6

Если в идентификаторе матрицы используется один индекс, то в этом случае мы получаем доступ к элементу с таким порядковым номером в предположении, что матрица вытянута в один столбец по своим столбцам. M(8) 8.5000

По правилам матричной алгебры над векторами и матрицами выполняются все обычные операции: + , – , * , ^ , ' (транспонирование). Покомпонентные (нематричные, а массивовые) операции производятся, если перед знаком операции ставится точка: .+ , .– , .* , ./ , .\ , .^ .

Все элементарные математические функции, которые зависят только от одного аргумента могут использовать в качестве аргумента вектор или матрицу. В этом случае MatLAB осуществляет так называемое поэлементное (покомпонентное) преобразование компонентов векторов и матриц. Т.е. заданная элементарная математическая функция преобразует вектор в вектор или матрицу в матрицу тех же размеров, но при этом производя функциональное преобразование над каждым компонентом автономно (отдельно). Если А это матрица 5х4, то sin(A) – это тоже матрица 5х4, но каждый элемент матрицы является sin-преобразованием соответствующего элемента исходной матрицы А.

Используя квадратные скобки можно получать новые вектора и матрицы из уже существующих, путем их конкатенации (объединения), необходимо только внимательно следить за соответствием размерностей объединяемых элементов. Здесь действуют те же привила с пробелами, запятыми и точками с запятыми.

V=[V1, V2] – формирование нового вектора V из существующих V1 и V2. Аналогичные действия можно осуществлять и для матриц, соблюдая правила размерностей. Например, формирование матрицы из двух векторов – A=[V1 ; V2] или матрицы из трех заданных матриц A=[A1 A2 A3] или A=[A1' ; A2 A3] и т.п.

Оператор двоеточие (:) применяется при выполнении действий по извлечению или вставке частей матриц.

V=A(:,3) – вектор V получен путем извлечение из матрицы А третьего столбца.

V=A(1,:) – вектор V получен путем извлечение из матрицы А первой строки.

V=A(:) – "вытягивание" матрицы А по столбцам в вектор-столбец V.

B=A(2:4,1:3) – образование матрицы B из строк (2:4) и столбцов (1:3) матрицы А.

A(2:4,1:3)=C(5:7,3:5) – замена элементов матрицы А на элементы матрицы С.

Если при задании верхней границы диапазона индекса требуется указать размер матрицы в этом измерении, то вместо конкретного значения можно использовать служебное слово end ( A(2:end,1:5) ).

Противоположная операция – удаление компонентов из векторов; строк или столбцов из матриц. Для этого используются пустые квадратные скобки, стоящие после символа присвоить. Рассмотрим примеры:

V(2)=[ ] – удаление второго элемента вектора.

M(:,3)=[ ] – удаление третьего столбца матрицы.

M(2,:)=[ ] – удаление второй строки матрицы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]