Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LS-Sb87956

.pdf
Скачиваний:
3
Добавлен:
13.02.2021
Размер:
860.48 Кб
Скачать

МИНОБРНАУКИ РОССИИ

__________________________________________

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

__________________________________________

ПРИМЕНЕНИЕ МАТЕМАТИЧЕСКИХ ПАКЕТОВ В ИНЖЕНЕРНО-ТЕХНИЧЕСКИХ РАСЧЕТАХ

Методические указания к лабораторным работам по дисциплине

«Математические пакеты в инженерно-технических расчетах»

Санкт-Петербург Издательство СПбГЭТУ «ЛЭТИ»

2012

УДК 004.42(075)+624.131.8(075)

Применение математических пакетов в инженерно-технических расчетах: методические указания к лабораторным работам по дисциплине «Математические пакеты в инженерно-технических расчетах» / cост.: Е. С. Анушина, Д. М. Филатов, А. В. Никоза. СПб.: Изд-во СПбГЭТУ «ЛЭТИ», 2012. 32 с.

Содержат программы и методики выполнения лабораторных работ, посвященных практическим вопросам применения математического пакета MATLAB как инструмента решения инженерно-технических задач.

Предназначены для студентов, обучающихся по направлению «Управление в технических системах».

Утверждено редакционно-издательским советом университета

в качестве методических указаний

СПбГЭТУ «ЛЭТИ», 2012

Лабораторная работа 1

ИНТЕРФЕЙС MATLAB И ОСНОВЫ ПРОВЕДЕНИЯ ВЫЧИСЛЕНИЙ В КОМАНДНОМ РЕЖИМЕ

Цель работы: знакомство с интерфейсом математического пакета MATLAB, работа с MATLAB из командной строки.

1.1. Основные сведения

Математический пакет MATLAB (сокр. от Matrix Laboratory – матричная лаборатория) – один из старейших универсальных пакетов для автоматизации математических и инженерных расчетов. Он предоставляет широчайший инструментарий для решения многих вычислительных задач в различных областях науки и техники. Мощная графика позволяет осуществлять качественную визуализацию производимых вычислений.

Помимо стандартных математических операций MATLAB содержит множество расширений – toolbox, которые определяют конкретную специфическую область вычислительных операций и содержат свои функции и процедуры.

MATLAB имеет свой внутренний язык программирования, напоминающий язык С. MATLAB как открытая система позволяет пользователю писать свои функции и добавлять их в уже имеющиеся системные библиотеки.

Операционная среда системы MATLAB – это множество интерфейсов, которые поддерживают диалог с пользователем. Реализуются такие интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор/отладчик М-файлов, специальные меню и т. п.

Главное окно MATLAB состоит из пяти рабочих областей:

1.Меню и панель инструментов.

2.Текущая папка (Current Directory) – отображает содержимое папки, являющейся в настоящий момент текущей.

3.Рабочее пространство (Workspace) – отображает содержимое памяти текущей сессии вычислений, где хранятся переменные и их значения.

4.История команд (Command History) – отображает последовательность вводимых команд текущей и предыдущих сессий.

5.Командное окно (Command Window) – окно для ввода команд и отображения результатов вычислений.

3

Каждую область можно отключить или подключить при помощи меню

Desktop.

1.2.Программа работы

1.2.1.Работа в командном окне

1.Запустите MATLAB из директории Пуск \ Все программы \ MATLAB или при помощи ярлыка на рабочем столе. После загрузки главного окна MATLAB сделайте текущей для данной сессии свою личную папку.

Внимание! Всегда устанавливайте свою папку для каждой проводимой вами вычислительной сессии!

2. Перейдите в командное окно. Если в последней строке стоит значок >>, значит программа готова к работе. Введите в командном окне две команды:

>>clear;

>>clc;

Результатом выполнения первой команды станет очистка рабочей области, результатом второй – очистка командного окна. Можно пользоваться этими командами по мере необходимости. Помните, что очистка рабочего пространства будет безвозвратной, а введенные команды всегда можно посмотреть в окне истории команд.

Точка с запятой в конце команды не является обязательной. Например, введите команду сложения двух любых чисел в двух вариантах – с точкой с запятой в конце и без нее. По результатам выполнения двух команд опишите назначения этого знака в конце команды.

MATLAB позволяет просмотреть предыдущие введенные команды с помощью клавиш «стрелка вверх и вниз». Так можно внести изменения в эти команды и повторно их выполнить.

3. Перейдите в рабочее пространство. Там находится переменная ans, в которую записан результат произведенного сложения. Это переменная, создаваемая по умолчанию. Для создания новой переменной (например, sum), в которую будет записан результат, необходимо набрать:

>> sum=345+890;

4

В результате выполнения этой операции сумма будет записана в переменную sum, которая автоматически появится в рабочем пространстве.

Внимание! В именах переменных, функций и файлов могут быть использованы только латинские символы! Регистр имеет значение!

Создайте несколько переменных и присвойте им различные значения, а также результаты различных вычислений. Для просмотра созданных переменных используйте команду who или whos. Опишите разницу в выполнении этих двух команд.

1.2.2.Рабочее пространство

1.Рабочее пространство системы MATLAB – это область памяти, в которой размещены переменные системы.

Команда save позволяет сохранить содержимое рабочего пространства в MAT-файле, который можно в дальнейшем загрузить командой load. Команда save также доступна в качестве опции Save Workspace меню File.

Сохраните созданные переменные в MAT-файл. Синтаксис команды: save имя_файла имя_переменной1 имя переменной2 …. Можно не указывать имена сохраняемых переменных, тогда все рабочее пространство сохранится полностью. Проверьте наличие созданного файла в текущей директории (при помощи окна «Сurrent Directory»).

В случае затруднений при использовании какой-либо функции можно вызвать подсказку при помощи команды help, указав через пробел имя функции, по которой требуется помощь. Например: >> help load.

2.Очистите рабочее пространство при помощи команды clear и загрузите в него созданный MAT-файл при помощи команды load.

3.Команды load и save допускают использование группового символа

(*)в кaчестве замены ряда символов в шаблоне имени переменной. Например, команда save matlab x* сохраняет все переменные, имена которых начинаются с символа x в файле с именем matlab.mat. Сохраните в новый MAT-файл несколько переменных, используя символ (*).

1.2.3.Числа, операторы, функции

1.MATLAB использует принятую десятеричного систему счисления с необязательной десятичной точкой и знаками «плюс» и «минус» для чисел. Для определения множителя степени десяти используют букву е. Мнимые числа используют i или j как суффикс.

5

Например:

 

 

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

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