Name Size Bytes Class Attributes
Лабораторная работа № 1 ВЫЧИСЛЕНИЯ В КОМАНДНОМ ОКНЕ СИСТЕМЫ MATLAB
Цель работы. Изучить основные математические операции и математические функции системы MATLAB.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Название системы (пакета) MATLAB происходит от английского выражения Matrix Laboratory – матричная лаборатория. В основе лежат математические и технические вычисления. В этой системе оптимизированы операции с массивами, и, соответственно, с матрицами (двумерные массивы). Даже одно число воспринимается как массив размером 1´1 – одна строка, один столбец. Система MATLAB состоит из ядра, специализированных пакетов (ToolBox) и пакета Simulink (соответствующих версий). MATLAB – это интерпретатор. В общем случае он не создает исполняемых файлов (приложений).
Рис. 1.1. Стартовая страница MATLAB R2007b по умолчанию
Рис. 1.2. Выбор опции только командного окна в MATLAB R2007b Результат того или иного вычисления в командном окне MATLAB осуществляется после нажатия клавиши Enter. При этом результат может быть записан в ячейку памяти с соответствующим именем, как говорят с присвоением результата. Если присвоения результата не производится, то в командном окне MATLAB используется сокращенная запись ans (от английского answer – отвечать, ответ), после чего выводится результат вычисления. Комментарии осуществляются после символа процента %.
Система MATLAB богата большим набором встроенных функций, которые могут возвращать результат, могут выполнять графические построения – 2D и (или) 3D графика. Справку о той или иной функции можно получить, набрав в командном окне help имя_функции (например, help sqrt). В MATLAB можно также создавать графический интерфейс пользователя, например, с помощью утилиты guide. Только в общем случае интерфейс будет функционировать при открытой системе MATLAB. Для версии MATLAB R2011b соответствующие окна показаны на рис. 1.3, рис. 1.4.
ПРАКТИЧЕСКАЯ ЧАСТЬ
1. Основные математические операции
Рассмотрим примеры, которые будет выполнять в командном окне. Сначала выполним операции сложения и вычитания:
Комментарии располагаются после знака процента %. Имена переменных должны начинаться с букв латинского алфавита. Можно произвести очистку командного окна с помощью команды clc. При этом все переменные и объекты остаются в памяти, в рабочей области текущей директории MATLAB. Для очистки памяти используется команда clear, например, >> clear B Тогда при обращении к переменной В получим следующее сообщение: >> B ??? Undefined function or variable 'B'.
То есть, неизвестная функция или переменная 'B'. Можно произвести очистку рабочей области от всех переменных. Для этого следует записать >> clear all
Можно выполнить выборочную очистку памяти, удаление некоторых переменных, например >> a = 6, b = 7, c = 9.9 a = b = c = 9.9000 >> clear a c >> a ??? Undefined function or variable 'a'. >> b b = >> c ??? Undefined function or variable 'c'.
В системе MATLAB следует учитывать регистр клавиатуры. Заглавные и строчные буквы имеют самостоятельное значение (как в языках программирования С/С++, C# и др. С-подобные языки). Операции умножения и деления:
Как видно из примеров запись математических выражений может быть выполнена с пробелами (в стиле С/C++). Примеры возведения в степень и извлечение квадратного корня и других степеней корней:
Примеры задания ряда чисел с заданным шагом с помощью оператора двоеточие, т. е. одномерных массивов:
Как видно из выше приведенного примера функция извлечения квадратного корня может быть использована для массивов данных. Если требуется объединить в массив числа в произвольном порядке, о тогда следует использовать квадратные скобки, например >> M = [-9.9, 123, 0, 678, -1] M = -9.9000 123.0000 0 678.0000 -1.0000 Элементы массива могут разделяться также пробелами.
Примеры сортировки числовых массивов
По умолчанию функция sort сортирует по возрастанию. В этой функции можно задать вид сортировки. В частности, по возрастанию через служебную строку 'ascend', по убыванию – через строку 'descend'. Пример сортировки по убыванию:
Задание 1 1. Проверьте сортировку по убыванию для одномерного массива с отрицательными и положительными вещественными числами без использования служебной строки 'descend'. Пример формирования двухмерного массива
Полученный результат означает, что массив имеет 7 строк и 2 столбца. Задание 2 1. Сформируйте массив, состоящий из заданного вектор-столбца чисел, отсортированного по возрастанию заданных чисел и отсортированного по убыванию заданных чисел. Проверьте размерность сформированного массива. 2. Создайте произвольную матрицу из вещественных чисел размера 4´3, полученную матрицу отсортируйте по строкам и по столбцам с помощью функции sort.
2. Элементарные математические функции
Справку по элементарным математическим функциям, которые реализуются системой MATLAB, можно получить по справке из командного окна (командной строки). Для этого следует набрать help elfun. Практически все функции могут быть использованы для массивов. Рассмотрим некоторые «элементарные» функции.
2.1. Показательная функция pow2 Функция pow2 используется для возведения числа 2 в какую-либо степень (от действительных и (или) комплексных чисел). Справка по этой функции: help pow2 Примеры с функцией pow2
В последнем примере показана возможность функции pow2 по работе с массивами. Можно использовать, например, двухмерные массивы.
2.2. Экспоненциальная функция exp Справка по функции exp: help exp Примеры с функцией exp
В примере использована функция fprintf, предназначена в общем случае для форматированного вывода данных различных типов в файл. В данном случае она была использована для вывода данных в командное окно MATLAB. Спецификатор формата %0.16f означает, что не отводится места для выводимого числа (цифра 0), сохраняются 16 цифр после десятичной точки, использован символ горизонтальной табуляции, т. е. \t и осуществлен перевод на новую строку с помощью, так называемой эскейп-последовательности \n. Спецификатор формата f предназначен для вещественных чисел.
2.3. Логарифмические функции log, log2, log10, reallog Примеры с логарифмическими функциями
Функция log – это натуральный логарифм от чисел. Функция log2 – это логарифм от чисел по основанию 2. Функция log10 – это десятичный логарифм от чисел. Если натуральный логарифм от отрицательного числа возвращает комплексное число, то функция reallog возвращает сообщение об ошибке, поскольку натуральный логарифм от отрицательного числа не определен (как это было в средней школе). Приведенные функции могут рассчитывать значение логарифма от каждого элемента заданного массива чисел. Задание 3 1. Подготовить выражение для вычисления логарифма числа по основанию, например, 3, 4, 5. Выполнить проверочный тест.
2.4. Тригонометрические функции В новых версиях MATLAB тригонометрические функции могут быть использованы как для чисел, представленных в радианах, так и для чисел, представленных в градусах угловых. Например, sin(pi/2), sind(90), где pi/2 есть p/2. В MATLAB имеются обратные тригонометрические функции, гиперболические функции, обратные гиперболические функции (см. help elfun). Примеры с основными тригонометрическими функциями:
В данных примерах использованы функции синуса, косинуса, тангенса и котангенса, аргументы которых радианы и градусы угловые. Все тригонометрические функции используются также для работы с массивами, как одномерными, так и многомерными. Задание 4 1. Сформировать квадратную матрицу, элементами которой являются тригонометрические функции sind, cosd, tand, cotd от таких значений, чтобы они возвращали числа 0.5000, т. е. с точностью до четырех знаков после десятичной точки.
Примеры с обратными тригонометрическими функциями
В примерах приведено обращение к элементам массивов ASC и ATK, соответственно. Зарезервированное слово end означает, что обращение производится к последнему элементу массива. Область определения функций asin(x), acos(x) для действительных значений лежит в интервале [–1; 1], т. е. х Î [–1; 1]. Соответственно, область значений этих функций лежит в интервале [–p/2; p/2]. Область определения функций atan(x), acot(x) есть вся числовая ось, а область значений этих функций лежит в интервале [–p/2; p/2]. Примеры с гиперболическими функциями
Гиперболические функции могут быть рассчитаны по следующим формулам:
Примеры с обратными гиперболическими функциями
В результатах встретилась зарезервированная величина Inf (или inf), которая соответствует как бы бесконечности. Обратные гиперболические функции могут быть рассчитаны по следующим формулам:
По приведенным формулам можно определить область определения каждой из обратных гиперболических функций. Задание 5 1. Напишите выражения, реализующие гиперболические функции по приведенным формулам. 2. Напишите выражения, реализующие обратные гиперболические функции по приведенным формулам.
В MATLAB имеются еще следующие встроенные тригонометрические функции: sec, secd (секанс), asec, asecd (арксеканс), sech (секанс гиперболический), asech (арксеканс гиперболический), csc, cscd (косеканс), acsc, acscd (арккосеканс), csch (косеканс гиперболический), acsch (аркокосеканс гиперболический). По ним имеются справки, например, help sec.
2.5. Округления чисел Примеры округления чисел
Задание 6 1. В качестве округляемого числа примите X.YY, где Х – номер месяца, когда вы родились, YY – день месяца. Сформируйте массив в виде вектора-столбца с элементами, состоящих из функций fix(X.YY), floor(X.YY), round(X.YY), ceil(X.YY). Выведите результат в командное окно MATLAB.
2.6. Функции вычисления остатка от деления mod, rem
Примеры вычисления остатков от деления
Последний результат со значением NaN означает, что это не число (от англ. Not–a–Number). Функции mod и rem дают одинаковый результат для положительных аргументов.
2.7. Функции для работы с простыми числами Функция primesформирует список простых чисел. Функция isprime проверяет простое ли число. Функция factor разлагает число на простые множители. Примеры с функциями primes, isprime, factor
В одном из примеров получился ответ Emptymatrix. Это означает, что результат есть пустая матрица. Задание 7 1. Проверьте, является ли год вашего рождения простым числом. 2. Выполните разложение вашего года рождения на простые множители с последующей проверкой.
В системе MATLABпредусмотрены символьные операции, в частности, решение линейных и нелинейных уравнений. Рассмотрим некоторые примеры.
Функция solve может быть использована и для выражения, заключенного в одинарные кавычки, например, >> str = '3*p^2 + 5*p + 2' str = 3*p^2 + 5*p + 2 >> whos str Name Size Bytes Class Attributes Str 1x15 30 char >> q = solve(str) q = -1 -2/3 >> whos q
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|