Численное интегрирование в маткад

Численное интегрирование в маткад

БлогNot. Методы численного интегрирования в MathCAD

Методы численного интегрирования в MathCAD

Теорию по численному интегрированию можно почитать, например, здесь, а в этой заметке займёмся реализацией в Маткаде основных методов численного интегрирования, которые чаще всего "проходят" в ВУЗах.

Все рассмотренные ниже методы, в сущности, между собой похожи — если одномерный определённый интеграл есть площадь криволинейной трапеции под графиком:

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

Ясно, что можно заменить и вот так:

, считая, что площадь жирного прямоугольника приблизительно равна искомой площади под кривой, но это будет очень уж неточно, поэтому отрезок интегрирования по оси x всегда разбивают на небольшие интервалы (проще всего, с постоянным шагом h ) и находят значение интеграла как сумму площадей простых фигур, например, прямоугольников, нижняя сторона которых равна h , а высота — значению f(x) , взятому в некоторой точке интервала (на рисунке — в серединах):

Ясно, что погрешность уменьшится, но останется.

Теперь от слов к Маткаду. Определим тестовую функцию f(x) , пределы интегрирования [a,b] и число интервалов n , на которое разбивается отрезок [a,b] . Величину шага h затем вычислим как (b-a)/n . В учебных целях выведем также "точное" значение искомого интеграла. Следует понимать, что "точное" оно лишь в кавычках, MathCAD-то искал его тоже численным методом.

Реализуем три основных метода прямоугольников. Разница между ними в том, в какой точке каждого отрезка на интервале интегрирования — левой, правой или в середине — берётся значение функции f(x) .

В методе трапеций мы для каждого отрезка интегрирования [xi,xi+1] соединяем отрезком прямой линии точки f(xi) и f(xi+1) , считая интеграл как сумму площадей трапеций. Это всегда точнее, а сам метод ещё достаточно прост. По-моему, близок к оптимуму при массовых расчётах.

Наконец, в методе Симпсона (парабол) функцию f(x) на каждом отрезке интегрирования заменяют параболой, то есть, кривой второго порядка. Расчёт становится сложнее, но точность повышается в разы. Существует немало разновидностей формулы для метода Симпсона, вот 2 неплохих способа расчёта:

Ниже показаны оценки погрешностей для всех методов.

Увеличивая число интервалов n , можно оценить и порядок точности всех методов.

Например, для метода первого порядка точности (методы левых и правых прямоугольников) при увеличении числа интервалов разбиения по оси x вдвое ( n:=20 вместо n:=10 в начале документа) погрешность решения должна уменьшиться примерно в 2 раза. Для методов второго порядка точности (средних прямоугольников, трапеций) при уменьшении шага по x вдвое погрешность уменьшится примерно в 4 раза (второй по h порядок точности и означает, что погрешность уменьшается пропорционально величине h 2 ). Метод Симпсона имеет четвёртый порядок точности, то есть, при уменьшении шага вдвое (увеличении вдвое числа интервалов n ) погрешность решения уменьшится примерно в 2 4 =16 раз.

Читайте также:  Что такое length в паскале

Следует помнить, что на дискретизации по оси x свет клином не сошёлся, существуют красивые альтернативные методы, скажем, метод Монте-Карло 🙂 При многомерном интегрировании он становится, пожалуй, предпочтительней.

Скачать документ "Численные методы интегрирования" (.xmcd, MathCAD 15) (93 Кб)

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

30.10.2013, 18:11; рейтинг: 50499

Оператор интегрирования в Mathcad предназначен для численного вычисления определенного интеграла функции по некоторому интервалу.

Например, определенный интеграл sin(x) 2 от 0 до p /4 может быть вычислен следующим образом:

  • Щёлкните в свободном месте и наберите знак &. Появится знак интеграла с пустыми полями для подинтегрального выражения, пределов интегрирования и переменной интегрирования.

  • Щёлкните на поле внизу и наберите 0. Щёлкните на верхнем поле и нажмите клавиши p /4. Так задаются верхний и нижний пределы интегрирования.

  • Щёлкните на поле между знаком интеграла и d. Затем напечатайте sin(x)^2. Это — выражение, которое нужно интегрировать.

  • Щёлкните на поле и наберите x. Это — переменная интегрирования. Затем нажмите знак =, чтобы увидеть результат.

Для приближенного вычисления определенного интеграла Mathcad использует численный алгоритм интегрирования Ромберга.

Необходимо сделать следующие замечания относительно численного интегрирования в Mathcad:

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

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

Поскольку метод интегрирования Mathcad делит интервал на четыре подинтервала, а затем удваивает число точек разбиения, это может привести к неправильным результатам для периодических функций с периодом 1/2 n от длины интервала. Чтобы обойти эту проблему, делите интервал на два подинтервала, не кратных периоду функции, и интегрируйте по каждому подинтервалу отдельно.

Читайте также:  Стоит ли покупать смартфон на алиэкспресс

Для вычисления точного значения интеграла или для нахождения неопределенного интеграла могут быть использованы возможности символьных вычислений Mathcad. Подробности см. в Главе “Символьные вычисления”.

Переменные пределы интегрирования

Хотя результат интегрирования — одно число, всегда можно использовать интеграл совместно с дискретным аргументом, чтобы получить результаты для многих значений параметра. Например, можно задать переменный предел интегрирования. На Рисунке 7 показано, как это сделать.

Рисунок 7: Переменные пределы интегрирования.

Отметим, что вычисления, подобные показанным на Рисунке 7, могут потребовать неоднократного вычисления интеграла. Это может привести к значительным затратам машинного времени, в зависимости от сложности интегралов, длины интервала интегрирования и значения встроенной переменной TOL.

Изменение точности вычисления интегралов

Численный алгоритм интегрирования Mathcad делает последовательные вычисления значения интеграла, увеличивая точность на каждом шаге, и возвращает значение, когда два последних значения отличаются меньше, чем на величину встроенной переменной TOL. На Рисунке 8 показано, как изменение значения TOL влияет на точность вычисления интеграла. Чтобы вывести большее количество значащих цифр.

Рисунок 8: Влияние значения встроенной переменной TOL на вычисление интеграла.

При необходимости можно изменять точность вычислений, включив определения для значения TOL непосредственно в рабочий документ, как показано на Рисунке 8. Можно также сделать это с помощью команды Встроенные переменные из меню Математика. Чтобы увидеть эффект изменения точности вычислений, выберите команду Пересчитать все из меню Математика для повторного вычисления всех выражений в рабочем документе. Если численный алгоритм Mathcad не достигает заданной точности, Mathcad отмечает интеграл сообщением об ошибке “не сходится”. Эта ошибка может быть вызвана либо функцией, которая имеет особенности, либо наличием осцилляций в интервале интегрирования, либо слишком длинным интервалом интегрирования. При изменении точности необходимо помнить о соблюдении компромисса между точностью и временем вычисления, поскольку увеличение точности требует увеличения времени вычислений.

Криволинейные и двойные интегралы

Mathcad может быть использован для вычисления криволинейных интегралов в комплексной плоскости. Для этого сначала параметризуйте контур. Затем интегрируйте по параметру. Если параметр отличен от длины дуги, необходимо также включить производную параметризации как поправочный коэффициент. Пример приведен на Рисунке 9. Обратите внимание, что мнимая единица i, которая использована в определении пути, должна набираться как 1i.

В Mathcad можно также вычислять двойные или кратные интегралоы. Чтобы ввести знак двойного интеграла, наберите & дважды. Введите подинтегральное выражение, пределы и переменные интегрирования для каждого интеграла. На Рисунке 10 приведен пример.

Читайте также:  Заблокированный контакт в whatsapp что видит

Рисунок 9: Как в Mathcad вычислить криволинейный интеграл по пути в комплексной плоскости.

Имейте в виду, что двойные интегралы вычисляются дольше, чем простые интегралы. Везде, где возможно, используйте эквивалентный простой интеграл вместо двойного интеграла.

Рисунок 10: Двойные интегралы.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

Численное интегрирование – достаточно простая вычислительная операция. Оно реализовано в виде соответствующего оператора MathCAD.Результатом численного интегрирования является некоторое число – значение определенного интеграла.

Чтобы вычислить определенный интеграл, следует написать его обычную математическую форму:

Решить определенный интеграл можно следующими приближенными методами:

Метод прямоугольников

Главная идея этого способа основана на простых геометрических соображениях, а именно определенный интеграл, который есть площадь криволинейной трапеции. Он вычисляется как сумма площадей элементарных прямоугольников.

Метод левых прямоугольников

Отрезок интеграла разбивается на n-элементарных отрезков равной длины ,

Пример метода левых прямоугольников на рисунке 7.

Рис. 7. Метод левых прямоугольников.

Метод правых прямоугольников.

Отрезок интеграла разбивается на n-элементарных отрезков равной длины

Пример метода правых прямоугольников на рисунке 8.

Рис. 8. Метод правых прямоугольников.

Метод средних прямоугольников

Отрезок интеграла разбивается на n-элементарных отрезков равной длины

Пример метода средних прямоугольников на рисунке 9.

Метод трапеций

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

Рис. 9. Метод средних прямоугольников.

Пример метода трапеций на рисунке 10.

Рис. 10. Метод трапеций.

Метод Симпсона

В данном методе отрезок интеграла разбивается не на n элементарных отрезков, а на n пар элементарных отрезков.

Пример метода Симпсона на рисунке 11.

Рис. 11. Метод Симпсона.

ГЛАВА 2. МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

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

Метод Хорд

Пусть − абсциссы концов хорды, − уравнение прямой, содержащей хорду. Найдем коэффициенты и из системы уравнений:

.

Вычтем из первого уравнения второе:

, затем найдем коэффициенты и :

, тогда

.

Уравнение принимает вид:

Таким образом, теперь можем найти первое приближение к корню, полученное методом хорд:

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

Пример метода хорд на рисунке 12.

Рис.12.Метод хорд.

Дата добавления: 2016-10-22 ; просмотров: 2633 | Нарушение авторских прав

Ссылка на основную публикацию
Adblock detector