Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2017-05-23 | 292 |
5.00
из
|
Заказать работу |
|
|
Пусть имеется одно уравнение с неизвестным x
f(x)=0, (1)
где f(x) – некоторая функция. Требуется найти корни уравнения, т.е. все значения x, которые обращают уравнение в верное равенство.
Иногда с помощью символьного процессора удается аналитически вычислить значение корней. Для этого
Однако в большинстве случаев аналитически решать уравнение не удается, и необходимо привлекать численные методы. Как правило, отыскание корней численными методами связано с несколькими задачами
Последнее означает, что необходимо найти значения x0, при которых |f(x0)|<TOL. Почти все встроенные функции системы Mathcad, предназначенные для решения нелинейных алгебраических уравнений, нацелены на решение второй задачи, т.е. предполагают, что корни уравнения уже приблизительно локализованы.
Для решения уравнения (1) Mathcad имеет встроенную функцию root, которая реализует алгоритм секущих и может включать два или четыре аргумента
root(f(x),x) или root(f(x), x, a, b)
где f(x) – скалярная функция, которую можно задать в виде выражения; x – скалярная переменная, относительно которой решается уравнение; a, b – границы интервала, внутри которого происходит поиск корня.
Использование типа функции root(f(x),x) с двумя аргументами требует задания начального значения переменной x, т.е. нужно предварительно присвоить x некоторое значение. Поиск корня будет производиться вблизи этого значения. Это требует априорной информации о примерной локализации корня.
|
Часто удобнее (и надежнее) задавать не начальное приближение к корню, а интервал [a,b], внутри которого находится искомый корень. В этом случае следует использовать функцию root(f(x), x, a, b) с четырьмя аргументами. Следует помнить, что при этом значения f(a) и f(b) должны иметь разный знак.
Если функция f(x) является полиномом степени n , то все корни можно найти, используя встроенную функцию polyroots(v), где – вектор, составленный из коэффициентов полинома. Первым в векторе v должен быть свободный член, вторым – коэффициент при x1 и т.д. Последним n+1 элементом вектора v должен быть коэффициент при xn. Результатом действия функции polyroots является вектор, составленный из n корней рассматриваемого полинома.
Следует помнить, что любой полином степени n имеет с учетом кратности ровно n корней, среди которых могут быть и комплексные.
Рассмотрим теперь решение системы n нелинейных уравнений с m неизвестными
(2)
Здесь , … – некоторые скалярные функции от скалярных переменных . Уравнений может быть как больше, так и меньше числа неизвестных. Система может включать и неравенства.
Для решения систем в Mathcad имеется специальный вычислительный блок, состоящий из трех частей, идущих последовательно друг за другом
Блок Given/ Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется до ключевого слова Given задать начальные значения для всех переменных. Вставлять логические операторы следует пользуясь панелью инструментов Boolean (Логические операторы).
Значение функции Find это вектор, составленный из решения по каждой переменной, так что число элементов вектора равно числу аргументов функции Find.
В качестве теста полезно проверить точность решения уравнений, вычислив значения образующих систему функций при найденных значениях корней.
|
Вычислительным блоком с функцией Find можно найти и корень уравнения с одним неизвестным. Единственным отличием будет скалярный, а не векторный тип результата, возвращаемого функцией Find.
В Mathcad вычислительным блоком Given/ Find система нелинейных уравнений (2) может быть представлена и решена в векторном виде
f(x)=0,
где – вектор, составленный из переменных, а f(x) – соответствующая векторная функция.
В отличие от функции root, Find реализует итерационные градиентные численные методы, в которых последовательные приближения вычисляются с применением производных. Вычислительный блок использует системную константу CTOL в качестве меры погрешности выполнения уравнений, введенных после ключевого слова Given.
Mathcad предлагает три различных вида градиентных методов. Чтобы изменить численный метод
Чтобы вернуть автоматический выбор численного метода, в контекстном меню нужно выбрать пункт Autoselect (Автоматический выбор). Помимо выбора самого метода, имеется возможность устанавливать некоторые его параметры. Для этого нужно вызвать с помощью того же контекстного меню диалоговое окно Advanced Options (Дополнительные параметры) в пункте Nonlinear (Нелинейный).
Некоторые уравнения удается решить символьно с использованием блока Given/ Find. В этом случае присваивать неизвестным начальные значения не нужно, а после функции Find нужно ввести знак символьных вычислений → (стрелку) вместо знака = (равно). Символьные вычисления могут производиться и над уравнениями, в которые, помимо неизвестных, входят параметры.
Задачу определения корней системы уравнений можно свести к задаче поиска экстремума функции многих переменных. В этом случае вместо требования точного выполнения уравнений минимизируется их невязка. Для этого в вычислительном блоке вместо функции Find используется функция Minerr, имеющая тот же набор параметров. При помощи этой функции можно решать и несовместные системы (т.е. не имеющие корней). В последнем случае численный алгоритм выдаст в качестве результата значения переменных, наилучшим образом удовлетворяющих уравнениям.
|
Вычислительный блок Given | Minerr задается следующим образом
В функции Minerr реализованы те же алгоритмы, что и в функции Find, иным является только условие завершения работы численного алгоритма. Следует иметь в виду, что функция находит локальный минимум, а не глобальный, т.е. могут найтись другие решения, для которых невязка меньше.
Аппроксимация функций
|
|
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!