Например: |
|
|
5 |
–98 |
0.007 |
15.9854 |
1.8е30 |
20.5е–50 |
1i |
–3.89j |
4е8j |
Все числа для хранения используют формат long. Для изменения формата вывода чисел можно воспользоваться командой format имя_формата.
Для числовых данных имя формата может быть следующим:
short – короткое представление в фиксированном формате (пять знаков); short e – короткое представление в экспоненциальном формате (пять
знаков мантиссы и три знака порядка);
long – длинное представление в фиксированном формате (15 знаков); long e – длинное представление в экспоненциальном формате (15 знаков
мантиссы и три знака порядка);
hex – представление чисел в шестнадцатеричной форме; bank – представление для денежных единиц.
При помощи команды format выведите число pi в различных форматах. Результаты сведите в таблицу.
2.Выражения MATLAB используют обычные арифметические операции
иправила старшинства.
+ |
Сложение |
\ |
Левое деление (матричное) |
− |
Вычитание |
^ |
Возведение в степень |
* |
Умножение |
‘ |
Комплексно сопряженное транспонирование |
/ |
Деление |
() |
Определение порядка вычисления |
MATLAB предоставляет большое количество элементарных функций, таких, как abs, sqrt, exp, sin. Чтобы вывести весь список элементарных функций, наберите help elfun. Для вывода более сложных математических функции используется функция specfun.
6
1.2.4. Задание на самостоятельную работу
Проведите вычисление выражения:
res
e
Создайте три переменные: num – для вычисления числителя, den – для вычисления знаменателя и res – для записи результата деления. Переменные сохраните в MAT-файле с произвольным именем. Данные для вычислений представлены в табл. 1.1.
Таблица 1.1
Задание |
|
|
|
|
Номер варианта |
|
|
|
|
|
|
|||||||
1 |
2 |
3 |
4 |
|
5 |
6 |
|
7 |
8 |
9 |
10 |
|||||||
|
|
|
|
|
|
|
||||||||||||
|
Num |
а) |
в) |
д) |
ж) |
|
б) |
в) |
|
е) |
ж) |
а) |
|
г) |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Den |
б) |
г) |
е) |
з) |
|
г) |
а) |
|
з) |
д) |
з) |
|
е) |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Формат |
short |
long |
short e |
long e |
|
short |
long |
|
short e |
long e |
short |
|
long |
|||||
вывода |
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|
|
|
|
√ |
|
|
|
|
|||||
( |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
|
|
|
||
√ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Получившееся выражение и полученные результаты вычислений приведите в отчете. Формат вывода результата определяется вариантом задания.
1.3. Содержание отчета
Отчет должен содержать цель лабораторной работы, перечень и описание созданных сигналов в рабочем пространстве, результаты выполнения всех пунктов программы работы и ответы на все вопросы, приведенные в тексте лабораторной работы.
Лабораторная работа 2
ОПЕРАЦИИ С ВЕКТОРАМИ И МАТРИЦАМИ В MATLAB
Цель работы: знакомство с инструментарием пакета MATLAB по работе с векторами и матрицами.
7
2.1. Основные сведения
Уже из названия математического пакета MATLAB – сокращение от «Матричная лаборатория» – следует, что в основу его работы положено применение матричных операций.
Матрицы широко применяются в различных математических расчетах, например при решении задач линейной алгебры и математического моделирования сложных динамических объектов. В MATLAB матрица – прямоугольный массив чисел (двумерный массив). Матрица 1 × 1 – это скаляр, а матрица, имеющая одну строку или один столбец – вектор (одномерный массив). MATLAB допускает задание и использование многомерных массивов.
Векторы и матрицы характеризуются размером. Размер вектора – это число его элементов, а размер матрицы определяется числом ее строк m и числом столбцов n. Размер матрицы MATLAB указывается как m × n.
Элементами матриц и векторов могут быть числа, символы или математические выражения. Элементы рассматривается как индексируемые переменные, например: M(2,4) – четвертый элемент второй строки матрицы М; Q(8) – восьмой элемент вектора Q. Хорошим тоном программирования является задание имен матриц и векторов строчными символами.
2.2.Программа работы
2.2.1.Создание матриц и доступ к элементам
1.Введите произвольную матрицу А размером 4 × 4. Для этого необходимо выполнить следующие условия:
отделить элементы строки пробелами или запятыми;
использовать точку с запятой для обозначения окончания каждой
строки;
окружать весь список элементов квадратными скобками [].
Например, [1 4 6; 78 4 12; 7 9 65].
2.Для доступа к любому элементу матрицы А достаточно набрать в командном окне A(i,j), где i – строки, а j – номер столбца. Выведите третий элемент четвертой строки матрицы А. Выведите две первые строки матрицы А.
3.Для создания вектора можно использовать процедуру, описанную в п. 1. При этом создание вектора-строки аналогично созданию строки матрицы. А для создания вектора-столбца необходимо или отделять каждый эле-
8
мент вектора точкой с запятой, или транспонировать вектор-строку при помощи (’), например: х = [1 2 3 4 5]’. Создайте вектор-строку и вектор-столбец двумя способами. Результаты приведите в отчете.
Еще один способ создания векторов – использование оператора «:».
Синтаксис его таков: [имя вектора]=[первое число]:[шаг]:[второе число].
Если шаг не задан, по умолчанию он приравнивается к единице. Создайте вектор, используя оператор «:».
Оператор «:» также можно использовать для вывода нескольких элементов вектора или матрицы, например:
А(1,2:8) – вывод со второго по восьмой элементов первой строки; А(3:5,:) – вывод с третьей по пятую строку.
Выведите последние два элемента последних двух строк матрицы А.
4. Существуют команды для создания различных типовых матриц, например:
ones – для создания матрицы, всеми элементами которой являются единицы;
zeros – для создания нулевой матрицы; eye – для создания единичной матрицы;
rand – для создания матрицы, всеми элементами которой являются псевдослучайные числа из диапазона (0,1);
rand – для создания матрицы, всеми элементами которой являются псевдослучайные числа из диапазона (0,1) с нормальным распределением;
Создайте несколько матриц произвольного размера, используя данные команды. Для помощи по синтаксису используйте команду help.
5. Кроме ручного ввода векторов и матриц и применения стандартных команд есть возможность создания матрицы, используя встроенный язык программирования MATLAB, а именно цикл for. Например:
for i=1:m |
% m – число строк создаваемой матрицы |
for j=1:n |
% n – число столбцов создаваемой матрицы |
A(i,j)=k |
% A – создаваемая матрица, k – произвольное число |
end |
|
end |
|
Создайте единичную матрицу 6 × 8, используя цикл for.
9
2.2.2.Операции с векторами и матрицами
1.MATLAB предоставляет широкий выбор команд по выполнению математических операций над векторами и матрицами (табл. 2.1).
|
|
Таблица 2.1 |
|
|
|
Синтаксис |
Команда |
Примечание |
‘ |
Траспонирование |
Транспонирование матрицы |
+ |
Сложение |
Поэлементное сложение матриц одинакового размера |
* |
Умножение |
Умножение матрицы m × n на n × m |
− |
Вычитание |
Поэлементное вычитание матриц одинакового размера |
При помощи добавления перед математическим оператором символа «.» можно сделать любую математическую операцию над матрицей поэлементной, например:
А.*В – поэлементное умножение двух матриц; А.ˆ – поэлементное возведение в степень.
Создайте две матрицы произвольного размера и выполните с ними несколько элементарных математических операций.
2. Также существуют специальные функции по работе с матрицами
(табл. 2.2).
Таблица 2.2
Команда |
Назначение |
diag (A) |
Выводит главную диагональ матрицы A |
rank (A) |
Вычисление ранга матрицы A |
det (A) |
Вычисление определителя матрицы A |
sum (A) |
Суммирование элементов в столбцах матрицы A |
fliplr (A) |
Зеркальное отображение матрицы слева направо A |
Используя перечисленные ранее команды, вычислите для матрицы, созданной в предыдущем пункте:
а) сумму элементов в столбцах; б) след матрицы;
в) сумму элементов на побочной диагонали; г) ранг и определитель матрицы.
2.2.3.Задание на самостоятельную работу
Вкачестве самостоятельной работы необходимо согласно заданному варианту (табл. 2.3):
1. Сформировать матрицу заданного размера, содержащую случайные числа в заданном диапазоне.
10