Символьные вычисления. Дифференцирование и интегрирование 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Символьные вычисления. Дифференцирование и интегрирование



Помимо численных вычислений в MathCAD имеется возможность символьных вычислений, когда находятся аналитические значения выражений. Численный метод – это запрограммированный расчет по формулам и численным методам, скрытый от глаза пользователя, а символьный метод – результат работы системы искусственного интеллекта, встроенной в MathCAD и называемой символьным процессором. Конечно, символьному расчёту поддаётся гораздо более узкий круг формул потому, что относительно не такая большая часть математических задач допускает аналитическое решение.

Символьные вычисления в MathCAD можно осуществлять в двух различных вариантах:

- с помощью команд меню;

- с помощью оператора символьного вывода  ®,  ключевых слов символьного процессора и обычных формул.

Первый вариант более удобен, когда необходимо получить какой-либо аналитический результат для однократного использования. Второй вариант более нагляден, т.к. позволяет записывать выражения в традиционной математической форме и сохранять символьные вычисления в документе. Кроме того, аналитические преобразования, проводимые через меню, касаются только одного, выделенного в данный момент, выражения и на них не влияют формулы, находящиеся в документе выше выделенного выражения (например, операторы присваивания значений каким-либо переменным). Оператор символьного вывода, наоборот, учитывает все предыдущее содержимое документа и выдает результат с его учетом.

Для символьных вычислений при помощи команд предназначено главное меню «Символика» с математическими операциями, которые MathCAD умеет выполнять аналитически. Для реализации второго варианта применяются все средства, пригодные для численных вычислений (например, панели «Калькулятор», «Вычисления»), и специальная математическая панель инструментов, вызываемая нажатием кнопки «Символы» на панели «Математика». На панели «Символы» находятся кнопки, соответствующие специфическим командам символьных преобразований (разложение выражения на множители, упрощение и др.).

Например, для выполнения операции разложения выражения на сомножители с помощью команд меню необходимо:

- ввести выражение;

- выделить его;

- выбрать в главном меню «Символика» строку «Разложить».

Результат разложения появится чуть ниже выражения отдельной строкой. Символьные операции с помощью меню осуществляются над каким-либо объектом (выражением, его частью или отдельной переменной), который предварительно выделен.

По второму варианту разложения выражения на сомножители необходимо:

- ввести выражение;

- на панели «Символы» нажать кнопку «Разложить»;

- ввести в место заполнитель после появившегося ключевого слова expand имя переменной, либо нажать клавишу Del, чтобы просто удалить место заполнитель;

- ввести оператор символьного вывода  ®.

- нажать клавишу  Enter  либо просто щелкнуть мышью за пределами выражения.

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

Если задача не имеет аналитического решения, либо она оказывается слишком сложной для символьного процессора, то в качестве результата выводится само выражение.

Сказанное выше относится, в основном, и к операциям дифференцирования и интегрирования. При дифференцировании с помощью меню имеют место два недостатка:

- для получения n-й производной необходимо n раз обращаться к меню;

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

При использовании панели «Математика» и соответствующего шаблона можно получить n-ю производную за одну операцию. С использованием этой же панели можно выполнять процедуры интегрирования.

MathCAD позволяет осуществлять широко применяемые в инженерных расчетах интегральные преобразования Фурье, Лапласа, Z-преобразование. Эти преобразования осуществляются с панели «Символы» с помощью команд:

- fourier – прямое преобразование Фурье;

- inverse fourier – обратное преобразование Фурье;

- laplace – прямое преобразование Лапласа и т.д.

Вид интегрального преобразования в MathCAD существенно зависит от вида исходной функции, которую целесообразно предварительно упрощать.

Решение уравнений

Для решения уравнений вида  MathCAD предоставляет встроенную функцию root, которая может быть использована в двух вариантах. В первом из них искомому решению уравнения присваивается значение . Перед этим необходимо задать функцию  и присвоить x некоторое значение, вблизи которого будет проводиться поиск решения. Во втором варианте искомому решению присваивается значение , где (a,b) – интервал, внутри которого заведомо находится искомое решение. После этого его нужно вывести на экран (). Решение ищется численными методами, а его поиск начинается с выбранного значения или интервала с последующим приближением к истинному значению. Функцию  можно также определить внутри тела функции root.

Точность полученного решения зависит от значения встроенной константы TOL, определяющей точность численных методов. По умолчанию TOL = 0,001. Она может быть изменена пользователем, но следует знать, что чем меньше величина этой константы, тем больше времени затрачивается на вычисления.

Если уравнение неразрешимо, то выдаётся сообщение об ошибке. К ошибке может приводить также поиск решения в области локальных экстремумов или при выборе начального значения слишком далеко от реального решения, что связано с особенностью используемого численного метода (метод секущих). Таким образом, функция root требует некоторой априорной информации о корнях исследуемой функции.

В случае, если исследуемая функция  является полиномом, его корни могут быть найдены с помощью функции polyroots(v), где v – вектор, составленный из коэффициентов полинома. Полином n-й степени имеет (n+1) коэффициент. В этом случае нет необходимости вводить начальное приближение.

Первой строкой вводится вектор v, состоящий из (n+1) элемента. На первом месте у этого вектора должен стоять свободный член, далее коэффициенты полинома в порядке возрастания степени. После этого вызывается встроенная функция polyroots(v), выдающая результат в виде вектора, содержащего n корней полинома. Вычисления проводятся численными методами, их точность определяется той же встроенной константой TOL, которая может изменяться пользователем. Корни полинома могут быть комплексными, а погрешность, определяемая константой TOL касается как действительной, так мнимой частей получаемого корня.

Пусть имеется система нелинейных уравнений:

где каждая  – скалярная функция скалярных переменных. Для решения такой системы необходимо обратиться к специальному вычислительному блоку, состоящему из трёх частей:

- вводится ключевое слово Given;

- решаемая система записывается с помощью Булевых операторов равенства и, если потребуется, неравенства;

- некоторому вектору (например v) присваиваются значения встроенной функции , решающей систему.

Обращение к этому вектору () выводит на экран решение системы. В выведенном на экран векторе v первый элемент представляет собой решение системы по первому аргументу, второй элемент – по второму аргументу и т.д. Общее число элементов вектора v равно числу переменных функции Find.

При использовании этой процедуры необходимо учитывать следующие особенности:

- предварительно, до ключевого слова Given всем переменным  должны быть присвоены начальные значения;

- функции  могут быть определены как заранее, до ключевого слова Given, а система определена после него с помощью имён функций и Булевых операторов, так и непосредственно внутри вычислительного блока (между Given и Find) с помощью выражений, определяющих функции, с одновременным заданием системы;

- поиск решения проводится численными методами, и погрешность результата при решении системы будет определяться встроенной константой CTOL, которую пользователь может менять (по умолчанию CTOL = 0,001);

- при попытке решить несовместную систему MathCAD выдаёт сообщение об ошибке с предложением поменять начальные значения.

Вычислительный блок с функцией Find применим и для решения одного уравнения с одним неизвестным, воспринимаемого как система, состоящая из одного уравнения.

Математическая статистика

MathCAD предоставляет широкие возможности для работы со статистическими рядами, полученными в ходе эксперимента, либо в результате генерации случайных чисел. Встроенные функции обеспечивают работу со всеми основными типами распределений. Так, например, чтобы воспользоваться функцией плотности вероятности нормально распределённой величины необходимо набрать на клавиатуре dnorm(x,M,s), где x – аргумент функции, M – математическое ожидание, s – среднеквадратическое отклонение. Эту же функцию можно вызвать через главное меню кнопкой «Вставить». В появившемся шаблоне необходимо заполнить три место заполнителя (x,M,s).

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

- dF(x,k,n) – распределение Фишера, где k, n – степени свободы;

- dexp(x,a) – экспоненциальное распределение, где a – показатель экспоненты;

- dunif(x,a,b) – равномерное распределение, где a < b – границы интервала;

- dt(x,k) – распределение Стьюдента, где k – число степеней свободы.

Для обработки статистических рядов имеются встроенные функции, вызываемые как набором на клавиатуре, так и через главное меню:

- mean(X) – определение выборочного среднего значения (оценки) случайной величины X;

- var(X) – определение выборочной дисперсии (оценки) случайной величины X;

- median(X) – определение выборочной медианы (значения функции X, делящего гистограмму плотности вероятностей пополам);

- min(X), Max(X) – определение минимального и максимального значения выборки (статистического ряда);

- mode(X) – определение наиболее часто встречающегося значения выборки;

- corr(X,Y) – определение коэффициента корреляции двух выборок;

- ceil(X) – определение наименьшего целого, не меньшего X;

- floor(X) – определение наибольшего целого, меньшего или равного X;

- gmean(X) – определение геометрического среднего значения выборки.

Первоначальную оценку закона распределения случайной величины позволяет сделать анализ гистограммы – графика, аппроксимирующего плотность распределения по случайным данным. Для его построения область значений случайной величины разбивается на некоторое число сегментов (bin), после чего учитывается число (процент) попаданий данных в каждый сегмент. Эти проценты, графически выраженные в виде масштабного столбика над своим сегментом данных, и представляют собой гистограмму случайной величины.

Для построения гистограмм предназначена встроенная функция hist(int,X), где X – вектор случайных данных, int – вектор, задающий сегменты построения гистограммы в порядке возрастания и зависящий от их количества bin. Гистограмма строится как двумерный график; в диалоговом окне «Форматирование» необходимо задать вид графика: столбцы (bar) или гистограмма (solidbar). Для анализа на этом же графике можно построить кривую плотности распределения предполагаемого закона, которому подчиняется случайная величина.

Функция hist выдаёт вектор, состоящий из значений, каждое из которых равно числу попаданий случайной величины в соответствующий сегмент гистограммы. Поэтому следует обратить внимание на нормировку гистограммы. Так как интеграл от функции плотности вероятностей по всей области возможных значений равен единице, то и сумма площадей всех столбцов гистограммы должна равняться единице. Только в этом случае можно сравнивать аппроксимацию гистограммой с кривой предполагаемой плотности распределения.

Функция hist привязывает каждый столбец гистограммы к левой границе сегмента. Привязать столбцы к середине сегмента перед построением графика можно переопределением вектора int.

В заключение небольшое замечание относительно тригонометрических функций в MathCAD. В полном объёме представлены как прямые, так и обратные тригонометрические функции. Имеется даже дополнительная функция angle(x,y), определяющая угол между осью 0X и направлением на точку с координатами (x, y), которая может быть полезна в некоторых расчётах. Но следует помнить, что аргументы прямых тригонометрических функций и результаты обратных тригонометрических преобразований выражаются в радианах.

 

2. Задания для самостоятельной работы

Занятие 1



Поделиться:


Последнее изменение этой страницы: 2021-04-04; просмотров: 81; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.253.221 (0.027 с.)