Материал: LS-Sb87956

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Например:

 

 

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