MatLab как научный калькулятор
9.2.1. Командное окно
После вызова MatLabиз среды Windows на экране появляется командное окно среды MatLab (рисунок 9.1.)
Это окно является основным в MatLab. В нем отображаются символы команд, которые набираются пользователем на клавиатуре, результаты выполнения этих команд, текст исполняемой программы, а также информация об ошибках выполнения программы, распознанных системой.
Признаком того, что программа MatLab готова к восприятию и выполнению очередной команды, является наличие в последней строке текстового поля знака приглашения ( ), после которого стоит мигающая вертикальная черта.
В верхней части окна (под заголовком) размещена строка меню, в которой находятся меню, назначение которых общеизвестно (см., например, [10]).
9.2.2. Операции с числами
Ввод действительных чисел с клавиатуры производится по общим правилам, принятым для языков программирования высокого уровня:
- для определения дробной части мантиссы числа применяется десятичная точка;
- десятичный показатель числа записывается в виде целого числа после предварительной записи символа e;
- между записью мантиссы числа и символом e не должно быть никаких символов.
Простейшие арифметические действия:
- “+” – сложение; “-” – вычитание; “*” –умножение; “/” – деление слева направо; “\”- деление справа налево; “^” – возведение в степень.
Вывод промежуточной информации в командное окно подчинятся следующим правилам:
- если запись оператора не заканчивается символом “;”, результат действия этого оператора сразу же выводится в командное окно;
- если запись оператора заканчивается символом “;”, результат его действия не отображается в командном окне;
- если оператор не содержит знака присвоения “=”, то значение результата присваивается специальной системной переменной ans;
- полученное значение можно использовать в последующих операторах вычислений под именем ans;при этом следует помнить, что значение переменной ans изменяется после действия очередного оператора без знака присвоения;
- в общем случае форма вывода результата в командное окно имеет вид:
.
В системе MatLab имеется несколько имен переменных, которые используются системой и входят в состав зарезервированных (Эти переменные можно использовать в математических выражениях):
- - мнимая единица ( );
- - число (сохраняется в виде 3.141592653589793);
- - обозначение машинной бесконечности ;
- - обозначение неопределенного результата (например );
- - результат последней операции без знака присвоения.
Ввод значений комплексного числа.
Язык системы MatLab, в отличие от многих языков программирования высокого уровня, содержит очень простую в пользовании встроенную арифметику комплексных чисел. Большинство элементарных математических функций построено таким образом, что аргументы предполагаются комплексными числами, а результаты также формируются как комплексные числа.
Для обозначения мнимой единицы в MatLab зарезервировано два имени -i и –j. Ввод с клавиатуры значения комплексного числа производится путем записи в командном окне строки вида
9.2.3. Простейшие операции с векторами и матрицами
Под вектором в MatLab понимается одномерный массив, а под матрицей – двумерный массив. По умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Например, отдельно заданное число программа воспринимает как матрицу размером (1*1), а вектор-строку с N элементами – как матрицу размером (1*N).
Ввод векторов и матриц
Исходные значения векторов можно задавать с клавиатуры путем поэлементного ввода. Для этого в строке следует вначале указать имя вектора, потом поставить знак присвоения “=”,далее – открывающуюся квадратную скобку, а за ней ввести заданные значения элементов вектора, отделяя их пробелами или запятыми. Завершается строка закрывающейся квадратной скобкой.
Например, ввод вектора-стоки V=[1.2 –0.3 5], задает вектор, содержащей три элемента (рисунок 9.2)
Длинный вектор можно вводить частями, которые затем объединять с помощью операции объединения в строку: V=[V1 V2] (рисунок 9.3)
Вектор-столбец вводится аналогично, но значения элементов в перечне отделяются знаком “;”.
Ввод значений элементов матрицы осуществляется в квадратных скобках по строкам. При этом элементы строки матрицы отделяются друг от друга знаком “;”(рисунок 9.4):
9.2.4. Некоторые функции прикладной численной математики
Операции с полиномами
Полином как функция определяется выражением
.
В MatLab полином задается и хранится в виде вектора, элементами которого являются коэффициенты полинома от до
Умножение полиномов сводится к построению расширенного вектора коэффициентов по заданным векторам коэффициентов полиномов-сомножителей. Данная операция называется сверткой векторов
В MatLab эту операцию осуществляет функция .
Аналогично, функция осуществляет деление полинома на .
Пример.
Система MatLab имеет функцию , которая вычисляет вектор, элементы которого являются корнями заданного полинома .
Пусть требуется найти корни полинома
Найдем корни, используя функцию :
Обратная задача – построение вектора коэффициентов полинома по заданному вектору его корней – осуществляется функцией
Здесь - заданный вектор значений корней.
Пример.
Аппроксимация и интерполяция данных
Система MatLab предоставляет удобные процедуры для аппроксимации и интерполяции данных измерений.
Полиномиальная аппроксимация данных измерений, которые сформированы как некоторый вектор Y, при некоторых значениях аргумента, которые образую вектор X такой же длины, что и вектор Y, осуществляется процедурой . Здесь n порядок аппроксимирующего полинома.
Пример.
Пусть имеем массив значений аргумента
x = [1 2 3 4 5 6 7 8],
а массив соответствующих значений измеренной величины
y = [-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1].
Тогда, применяя указанную функцию при разных значениях порядка аппроксимирующего полинома, получим:
Это значит, что заданную зависимость можно аппроксимировать кривыми различных порядков, что и демонстрируется кривыми на рисунке 9.5.
9.2.5. Построение простейших графиков
Вывод графиков в системе MatLab является настолько простой и удобной процедурой, что ею можно пользоваться даже при вычислениях в режиме калькулятора.
Основной функцией, обеспечивающей построение графиков на экране дисплея, является функция .
Общая форма обращения к этой процедуре такова:
.
Здесь - заданные векторы, элементам которых являются массивы значений аргумента и функции , соответствующих первой кривой графика; - массивы значений аргумента и функции второй кривой и т.д. При этом предполагается, что значения аргумента откладываются вдоль горизонтальной оси, а значения функции – вдоль вертикальной оси. Переменные являются символьными (их указание необязательно). Каждая из них может содержать три специальных символа, которые определяют тип линии, соединяющей отдельные точки графика, тип точки графика и цвет линии. Если переменные не указаны, то тип по умолчанию - отрезок прямой, тип точки – пиксель, а цвет устанавливается в таком порядке: синий, зеленый, красный, голубой, фиолетовый, желтый, черный и белый.
Графики в MatLab всегда выводятся в отдельном графическом окне, которое называется фигурой.
По приведенной форме график изображается без сетки.
Для нанесения сетки необходимо добавить функцию .
Ценной особенностью графиков, построенных в MatLab, является то, что сетка координат всегда отвечает целым шагам изменения, что делает графики “читабельными”.
Пример.
Пусть требуется вывести график функции на промежутке от до с шагом .
Результат выглядит следующим образом (рисунок 9.6).