Работа в режиме прямых вычислений
Методические указания по отдельным видам занятий»
MATLAB (сокращение от MATrixLABoratory – матричная лаборатория) – система инженерных и научных расчетов, распространенная в университетах всего мира. Язык, используемый в системе MATLAB, можно сравнить с языком BASIC по простоте его применения и принципу непосредственного исполнения (интерпретации).
Ориентация на работу с массивами (матрицами) делает MATLAB удобным и естественным инструментом обработки экспериментальных данных. MATLAB включает в себя компилятор языка, обширные математические библиотеки программ и функций на языках C и C++, мощный графический процессор. Будучи ориентированной на работу с реальными данными, система выполняет все вычисления в арифметике с плавающей точкой, и является универсальным языком технических вычислений.
Краткое введение в MATLAB
Система MATLAB разработана фирмой The MathWorks, Inc. (США, г. Нейтик, шт. Массачусетс) и является интерактивной системой для выполнения инженерных и научных расчетов, которая ориентирована на работу с массивами данных. Система использует математический сопроцессор и допускает возможность обращения к программам, написанным на языках Fortran, C и C++.
Система поддерживает выполнение операций с векторами, матрицами и массивами данных, реализует сингулярное и спектральное разложения, вычисление ранга и чисел обусловленности матриц, поддерживает работу с алгебраическими полиномами, решение систем нелинейных уравнений и задач оптимизации, численное интегрирование, решение систем дифференциальных и разностных уравнений, построение различных видов графиков, трехмерных поверхностей и линий уровня.
В системе реализована удобная операционная среда, которая позволяет формулировать проблемы и получать решения в привычной математической форме, не прибегая к рутинному программированию.
Наиболее известные области применения системы MATLAB:
· математика и вычисления;
· разработка алгоритмов;
· вычислительный эксперимент, имитационное моделирование;
· анализ данных и визуализация результатов;
· научная и инженерная графика;
· разработка приложений, включая графический интерфейс пользователя.
MATLAB – это интерактивная система, основным объектом которой является массив,для которого не требуетсяуказывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, необходимое на программирование. MATLAB – это открытаясистема: одна из ее наиболее сильных сторон – возможность создания пользовательских расширений. Пользователь сам может написать на языке MATLAB специализированные функции и программы, предназначенные для многократного использования. Эти функции и программы оформляются в виде м-файлов (файлов, имеющих в названии расширение m. Например, my_function1.m) и помещаются в соответствующие библиотеки MATLAB или пользовательские каталоги, после чего к ним можно обращаться по имени (с возможной передачей значений параметров и аргументов) подобно тому, как мы обращаемся к стандартным математическим функциям, таким, например, как sin, log, sqrt и т.д.
Система MATLAB может использоваться в режиме прямых вычислений. В этом случае вычисляемые выражения набираются в командной строке (на которую указывает курсор в командном окне), при необходимости редактируется, ввод завершается нажатием клавиши ENTER. В режиме прямых вычислений система используется как мощнейший калькулятор. При этом доступны ВСЕ возможности системы, включая графические. Работа в режиме прямых вычислений рекомендуется в том случае, когда решение поставленной задачи требует выполнения небольшого (1-5) числа операторов MATLAB. Если же решение задачи предполагает выполнение сравнительно большого числа операторов, то с целью удобства дальнейшей корректировки и отладки рекомендуется составить программуна языке MATLAB. Программа MATLAB (M-программа) готовится обычно средствами встроенного редактора (редактора-отладчика), позволяющего запускать М-программу на выполнение, осуществлять пошаговую отладку, формировать и распечатывать результаты.
Следует отметить, что М-программа представляет собой последовательность операторов, необходимую для решения задачи и записанную в виде м-файла в рабочую директорию. Это та же последовательность операторов, которые использовались бы в режиме прямых вычислений. Поэтому в смысле используемого языка нет разницы между программированием и непосредственной работой с MATLAB в командном окне.
РАБОТА В РЕЖИМЕ ПРЯМЫХ ВЫЧИСЛЕНИЙ
1) Вычисляемое выражение набирается, редактируется (если нужно) в командной строке, ввод завершается нажатием клавиши ENTER.
Средства для редактирования в командной строке: клавиши ← и → - перевод курсора вдоль строки, Home, End – быстрый переход к началу и концу строки, ↑ и ↓ - клавиши перелистывания строк (с их помощью в командной строке можно восстановить для редактирования и выполнения ранее выполнявшиеся операторы), клавиши Delete и Backspace (← в верхней строке клавиатуры) – для удаления символа над курсором и слева от него. Кроме того, в командном окне имеется сверху панель инструментов, позволяющая делать стандартные операции копирования, удаления, вставки из буфера обмена и др.
2) Для переноса длинного выражения на другую строку используется многоточие (… - три или более точек в конце строки). При нажатии ENTER курсор переместится в начало следующей строки, где можно продолжать набор оператора.
3) Основные системные переменные:
pi – значение числа π
ans – хранит результат последней выполненной операции (в том числе
и если этот результат – массив чисел). К ней можно обращаться
по имени, что бывает удобно при программировании.
inf - символ машинной бесконечности. Положительная величина,
которая больше чем любое представимое в оперативной памяти
компьютера положительное число, что так же бывает удобно
иметь при составлении алгоритмов.
i- мнимая единица – sqrt(-1). MATLAB выполняет действия в алгебре
комплексных чисел вида z = x+ i*y, где x – вещественная часть,
y – мнимая часть числа.
4) Знаки основных арифметических операций:
‘+ ‘- сложение, ‘-‘ – вычитание , ‘*’ – умножение, ‘/’ – деление слева направо, ’\’ – деление справа – налево, ‘^’ – возведение в степень.
Знаки операций применимы к векторным и матричным операндам.
Так, результаты операций A/B и B\A могут быть различны. Кроме того, одна из этих операций может быть возможна, в то время как другая – нет. Первая: A/B выполняется как A*inv(B), а вторая: B\A – как inv(B)*A. Вспомним, что умножение матриц не обладает свойством коммутативности. Знак умножения, примененный к матричным операндам, выполняет операцию умножения матриц по правилам матричной алгебры.
5)Постановка знака ‘;’в конце вычисляемого выражения не обязательна, его присутствие блокирует вывод на экран компьютера результата выполнения выражения, после которого он поставлен. Установка точки с запятой в конце каждого оператора желательна при написании М-программ, особенно – когда промежуточными результатами являются массивы чисел. (Заметим, правда, что иногда полезно умышленно опустить точку с запятой, если вывод вычисленного значения оператора желателен).