Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
62
Добавлен:
13.02.2015
Размер:
3.26 Mб
Скачать

МАТЛАБ. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ.

Основные символьные операции. Основой аналитических вычислений является символьная переменная (то есть фактически массив символов или строка). Она объявляется с предварительным указанием типа. syms x y две символьные переменные. Затем можно написать какие-то формулы с их использованием и сохранить в новых переменных (например, g, f) которые уже автоматически становятся символьными. После этого выражения с их использованием тоже будут строками символов(например, f*g).

Символьная переменная, содержащая формулу, выводится в строку. Если надо выводить в более традиционном представлении математических формул, то используется функция pretty. Для представления нецелого числа в виде дроби есть функция sym. Вычислить числовое значение символьного выражения можно функцией vpa.

Преобразование выражений. Для вычисления коэффициентов полинома есть функция collect(выражение, переменная), если переменную не указывать, то будет искать коэффициенты для переменной х. Если надо разложить на простые множители, то есть функция factor(выражение). Для упрощения выражения есть функция simple. Его аналог функция simplify. Если же надо заменить символьную переменную на некое другое символьное выражение, то есть функция subs(выражение, имяСтаройПеременной, имяНовойПеременной). Если символьная формула содержит несколько символьных переменных, то для подстановки вместо них их числовых значений надо указать список подставляемых значений.

Аналитическое решение задач линейной алгебры. Функция length определяет длину вектора. Функция prod вычисляет произведение элементов вектора. Функция sum определяет сумму элементов вектора. Функция mean определяет среднее арифметическое вектора. Функция dot вычисляет скалярное произведение векторов. Функция cross вычисляет векторное произведение векторов. Функция sort выполняет сортировку по возрастанию, а –sort по убыванию элементов вектора. Функция diag формирует матрицу с заданными элементами на заданной диагонали или возвращает элементы заданной диагонали. Функция cat объединяет матрицы. Функция tril формирует нижнетреугольную матрицу. Функция triu формирует верхнетреугольную матрицу. Функция size определяет размеры матрицы. Функция det находит определитель матрицы. Функция trace находит след (сумму по диагонали) матрицы. Функция inv находит обратную матрицу. Функция eig находит вектор собственных значений матрицы. Функция poly находит вектор коэффициентов характеристического полинома матрицы.

Все эти функции уже рассматривались раньше. Формат их вызова тот же.

Построение графика символьной функции. Построить график функции одной переменной можно функцией ezplot. Для этого указывают символьное выражение и границы изменения переменной (по умолчанию от 0 до 2π). Также она позволяет отображать параметрические функции. Для этого указывают аргументы функции: имена символьных выражений (двух) и границы изменения параметра. Если границы не указаны, то по умолчанию от 0 до 2π.

Для построения символьной функции в полярных координатах предусмотрена функция ezpolar(функция f(Rho), [интервал изменения Rho]). По умолчанию интервал от 0 до 2π.

Объемные графики строит функция ezsurf(функция, Хmin, Xmax, Ymin, Ymax) где по умолчанию переменные ограничены от 0 до 2π. Если нужно показать еще и линии уровня, то можно использовать функцию ezsurfc. Если надо нанести контурные линии, то можно использовать ezmesh. А если надо строить поверхность с нанесением контуров и линиями уровня, то можно использовать ezmeshc.

Для построения поверхности, заданной функциями в параметрическом виде, используется ezplot3(X,Y,Z, [Tmin,Tmax]), где указаны аргументы (зависящие от параметра) и границы изменения параметра. По умолчанию параметр изменяется от 0 до 2π. Аргументы можно указывать как символьные выражения.

Решение уравнений и систем в символьном виде. Функция solve(уравнение1, уравнение2, и т.д., переменнаяХ1, переменнаяХ2, и т.д.) возвращает значения переменных, перечисленных в ее аргументах, при которых соблюдаются равенства, заданные уравнениями, перечисленными в ее аргументах. Если же вычислить значение переменной не удалось, то она будет выражена через остальные переменные.

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

Для примера найдем уравнение окружности, проходящей через точки М(26, 4), О(9, 21), К(17, 17). Для этого составим систему из трех уравнений окружности, в каждое из которых подставлены координаты одной из точек. Решим его функцией solve и затем сформируем уравнение окружности (ответ нашей задачи) с помощью функции simplify, которая подставит найденные корни уравнения на соответствующие места в формуле.

Вычисление пределов. Для вычисления пределов при числе членов последовательности, стремящемся к бесконечности, есть функция limit(функция, имяПеременной, пределПоследовательности). Так, например, выражение limit(f1,’n’,inf) это поиск предела последовательности при n стремящемся к бесконечности. Отдельно рассматривается ее применение для нахождения пределов функций. Так, например, выражение limit(f,’x’,3) означает что найден предел функции при Х стремящемся к 3. А вот выражение limit(1+1/x,x,inf) означает что найден предел функции при Х стремящемся к бесконечности. Совершенно так же решаются и все неопределенности. Если же надо найти односторонний предел, то пишут с какой стороны его искать (справа или слева).

Вычисление производной. Символьное дифференцирование выполняет команда diff(функция, имяПеременной, порядокПроизводной). Если нет имени, то по умолчанию будет выбрана первая по алфавиту переменная. По умолчанию вычисляется первая производная.

Подставить значение переменной в найденную формулу производной можно с помощью subs(функция, имяПеременной, ееЗначение).

Вычисление интеграла. Для неопределенного интеграла есть функция int(функция, переменная). Для определенного интеграла еще приписывают пределы интегрирования в список аргументов. Для несобственного интеграла один из пределов равен бесконечности.

Числовые ряды. Ряд Тейлора. Для вычисления суммы ряда есть функция symsum(общийЧленРяда, переменная, пределыЕеИзменения).

Для разложения в ряд Тейлора (ряд Маклорена его частный случай) есть функция taylor(функция, номер) где номер означает до какого члена ряда выполняется разложение. По умолчанию до шестого члена ряда. Если же надо разложить в ряд Тейлора в окрестности точки А, то ее надо указать в списке аргументов taylor(функция, точкаА, номер).

Дифференциальные уравнения. Их и их системы решает функция dsolve(список уравнений, список граничных (начальных) условий, независимая переменная). По умолчанию имя переменной считается t. Имя переменной нельзя начинать с D или d так как это означает производную.