Теоретическое обоснование. Лабораторная работа 1

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

ОСНОВЫ РАБОТЫ В СРЕДЕ MATLAB (4ч)

Цель и содержание работы:научиться проводить прямые вычисления и создавать М-файлы в пакете автоматизации математических расчетов MATLAB.

Теоретическое обоснование

MATLAB(MATrix LABoratory – матричная лаборатория) – является системой автоматизации математических расчетов, построенной на расширенном представлении и применении матричных операций. В MATLAB используются такие типы данных, как многомерные массивы, массивы ячеек, массивы структур и разреженные матрицы, что открывает возможности применения системы при создании и отладке алгоритмов матричных вычислений и крупных баз данных.

Двумерный массив чисел или математических выражений принято называть матрицей, а одномерный массив называют вектором. Размер матрицы определяется числом ее строк m и столбцов n (указывают как Теоретическое обоснование. Лабораторная работа 1 - student2.ru ). Примеры вектора и матрицы: Теоретическое обоснование. Лабораторная работа 1 - student2.ru – вектор из 4 элементов; Теоретическое обоснование. Лабораторная работа 1 - student2.ru – матрица размера 2x3.

Обычные числа и переменные в MATLAB рассматриваются как матрицы размера 1x1, что дает единообразные формы и методы проведения операций над обычными числами и массивами. Данная операция обычно называется векторизацией. Векторизация обеспечивает и упрощение записи операций, производимых одновременно над всеми элементами векторов и матриц, и существенное повышение скорости их выполнения.

Система MATLAB выполняет сложные и трудоемкие операции над векторами и матрицами даже в режиме прямых вычислений без какого-либо программирования. В этом случае работа происходит в режиме «вопрос – ответ», что напоминает работу в MathCAD. Ею можно пользоваться как мощным калькулятором, в котором наряду с арифметическими и алгебраическими действиями могут использоваться сложные операции: инвертирование матрицы, вычисление ее собственных значений и принадлежащих им векторов, решение систем линейных уравнений, вывод графиков двумерных и трехмерных функций и многое другое.

В режиме непосредственных вычислений, которые проводятся в командном режиме, можно решать множество математических задач.

Существует ряд основных команд управления Окном командного режима (Command Window):

clс– очищает экран и размещает курсор в левом верхнем углу пустого экрана;

home– возвращает курсор в левый верхний угол окна;

mоrе on – включает режим постраничного вывода (полезен при просмотре больших m-файлов);

mоrе off – отключает режим постраничного вывода (в этом случае для просмотра больших фалов надо пользоваться линейкой прокрутки).

В системе MATLAB можно задавать переменным определенные значения. Для этого используется операция присваивания, вводимая знаком равенства, аналогично присваиванию в Visual Basic.

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

Имя переменнойможет содержать сколько угодно символов, но запоминается и идентифицируется только 31 начальный символ. Имя любой переменной не должно совпадать с именами других переменных, функций и процедур системы. Имя должно начинаться с буквы, может содержать буквы, цифры и символ подчеркивания. Недопустимо включать в имена переменных пробелы и специальные знаки, например +, .-, * и т. д.

Существует ряд основных правил для общения с MATLAB:

- для указания ввода исходных данных используется символ >>;

- для блокировки вывода результата вычислений некоторого выражения после него надо установить знак «;» (точка с запятой);

- если не указана переменная для значения результата вычислений, то MATLAB назначает такую переменную с именем ans;

- знаком присваивания является знак равенства =;

- результат вычислений выводится в строках вывода (без знака >>);

- встроенные функции (например, sin) записываются строчными буквами, и их аргументы указываются в круглых скобках;

Оператор – это специальное обозначение для определенной операции над данными – операндами. Используются следующие операторы:

+сложение;

- вычитание;

* умножение;

.* поэлементное умножение массивов;

/деление;

./ поэлементное деление массивов;

\ левое деление (деление справа налево);

^ возведение в степень;

‘ транспонирование

( ) определение порядка вычислений.

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

аns – результат выполнения последней операции;

pi – 3.14159265…;

i или j – мнимая единица ( Теоретическое обоснование. Лабораторная работа 1 - student2.ru );

eps – относительная точность числа с плавающей точкой, 2-52;

realmin – наименьшее число с плавающей точкой, 2-1022;

realmax – наибольшее число с плавающей точкой, Теоретическое обоснование. Лабораторная работа 1 - student2.ru ;

Inf – бесконечность, NAN – не число.

В системе MATLAB определены следующие функции (таблица 1.1).

Таблица 1.1 – Основные функции MATLAB

Функция Название Пример
Математические
abs(X) Модуль.для каждого числового элемента вектора X. >> abs(-5) ans =
ехр(Х) Экспонента. Возвращает экспоненту для каждого элемента X. >> ехр([1 2 3]) ans = 2.7183 7.3891 20.0855
inv(A) Возвращает матрицу А-1, обратную матрице А A = 1 2 3 5 7 8 3 4 9 >> inv(A) ans = -2.2143 0.4286 0.3571 1.5000 0.0000 -0.5000 0.0714 -0.1429 0.2143
det(A) Возвращает определитель матрицы А >> det(A) ans = -14
log(X) Возвращает натуральный логарифм элементов массива X. >> Х=[1.2 3.34 5 2.3]; >> log(X) ans= -0.1823 1.2060 1.6094 0.8329
log2(X) Возвращает логарифм по основанию 2 элементов массива X. >> log2(X) ans = 0.2630 1.7398 2.3219 1.2016
log10(X) Возвращает десятичный логарифм элементов массива X. >> log10(X) ans = 0.0792 0.5237 0.6990 0.3617
sqrt(А) Возвращает квадратный корень каждого элемента массива А >> А=[25 21.23 55.8 3]: >> sqrt(A) ans = 5.0 4.6076 7.4699 1.7321
cos(X) Косинус для каждого элемента X >> X=[1 2 3]; >> cos(X) ans = 0.5403 -0.4161 -0.9900
acos(X) Возвращает арккосинус для каждого элемента X >>Y = acos (0.5) Y= 1.0472
sin(X) Возвращает синус для каждого элемента X >> X=[pi/2 pi/4 pi/6 pi]; >> sin(X) ans = 1.000 0.7071 0.500 0.000
asin(Y) Арксинус для каждого элемента Y >> Y= asin (0.278) Y = 0.2817

Продолжение таблицы 1.1

Функция Название Пример
tan(X) Тангенс для каждого элемента X >> Х=[0.08 0.06 1.09] >> tan(X) ans= 0.802 0.0601 1.9171
atan(Y) Возвращает арктангенс для каждого элемента Y >> Y=atan(1) Y = 0.7854
mod(X,Y) Возвращает остаток от дедения X на Y >> mod(5,2) ans =
Функции и операторы отношения Данные операторы выполняют поэлементное сравнение векторов или матриц одинакового размера и возвращают значение 1 (True), если элементы идентичны, и значение 0 (False) в противном случае.
eq Равно. Оператор: = = >> eq(2, 2) ans = >> 2==2 ans =
ne Не равно. Оператор: ~ = >> ne(l, 2) ans = >> 2 ~- 2 ans =
Lt Меньше чем. Оператор: < x<y
Gt Больше чем . Оператор: > x>y
Le Меньше или равно. Оператор: <= x<=y
Ge Больше или равно. Оператор: >= x>=y
Логические операторы и функции
And Логическое И (AND) & »А=[1 2 3]; »В=[1 0 0]; » and(A.B) ans = 1 0 0
Or Логическое ИЛИ (OR) | >> оr(А.В) ans = 1 1 1
Not Логическое НЕ (NOT) ~ >> not(B) ans = 0 1 1

При решении сложных задач возникает необходимость сохранения полученных вычислений и их дальнейшей модификации. Файлы, которые содержат код на языке MATLAB, называются М-файлами. Существует два вида М-файлов:

- файлы-сценарии, которые не имеют входных и выходных аргументов;

- файлы-функции, которые имеют входные и выходные аргументы.

Файл-сценарий, именуемый также Script-файлом, является просто записью серии команд без входных и выходных параметров. Он работает с данными из Рабочей области (Workspace), в процессе работы не компилируется и представляет собой зафиксированную в виде файла последовательность операций, полностью аналогичной той, что используется при прямых вычислениях. В MATLAB можно использовать комментарии, которые должны начинаться с символа %. При правильной записи комментария он выделяется зеленым цветом, в противном случае – красным.

Файлы-функции – это М-файлы, которые имеют входные параметры и возвращают выходные. Имя М-файла и имя функции должно быть одним и тем же. Функции работают с локальными переменными в пределах их собственного рабочего пространства. Первая строка файла-функции начинается со слова function. Здесь происходит задание имени функции со списком входных и выходных аргументов. Остальные строки файла представляют собой исполняемый код MATLAB. Например, на рисунке 1.1 представлен файл-функция fun двух переменных х и у, вычисляющая Теоретическое обоснование. Лабораторная работа 1 - student2.ru .

Теоретическое обоснование. Лабораторная работа 1 - student2.ru

Рисунок 1.1 – Создание файла-функции

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

function [Выходные_параметры]=f_name (Список_входных_параметров)

Функцию можно вызывать как из файла-сценария, так и в режиме прямых вычислений.

Аппаратура и материалы:ПК не ниже Pentium II, OC семейства Windows, математический пакет MATLAB 7.

Техника безопасности

Соблюдать требования по охране труда при работе в компьютерных классах (инструкция № 140).

Задания

1. Ознакомиться с интерфейсом системы MATLAB. Изучить правила ввода матриц и векторов, использования операторов.

2. В режиме прямых вычислений двумя методами (методом Крамера и матричным методом) решить систему линейных уравнений:

Теоретическое обоснование. Лабораторная работа 1 - student2.ru

3. Решить приведенную выше систему уравнений путем создания М-файлов.

Наши рекомендации