Решение нелинейных уравнений
Пример 3.1. Найти корень уравнения x – sin x – 0,25 = 0 на отрезке [0,2] с точностью 0,0001.
MathCAD
Для решения одного нелинейного уравнения с одной неизвестной система MathCAD имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или четыре аргумента и, соответственно, работает несколько по-разному: root(f(x),x); root(f(x),x,a,b), где f(x) - скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а, b – границы интервала, внутри которопй происходит поиск корня.
Первый тип функции root требует предварительного задания начального приближения х0 переменной х. Поиск корня будет производиться вблизи этого значения методом секущих. Если уравнение неразрешимо, то при попытке найти его корень будет выдано сообщение об ошибке. Кроме того, к ошибке или выдаче неправильного корня может привести и попытка применить метод секущих в области локального максимума или минимума функции f(x). В этом случае секущая будет иметь направление, близкое к горизонтальному, выводя точку следующего приближения далеко от предполагаемого корня. Аналогичные проблемы могут возникнуть, если начальное приближение выбрано слишком далеко от настоящего решения, или f(x) имеет особенность типа бесконечности.
Иногда удобнее задавать не начальное приближение к корню, а интервал [а, b], внутри которого заведомо находится корень. В этом случае следует использовать функцию root с четырьмя аргументами; присваивать начальное значение переменной х в этом случае не нужно. Поиск корня будет осуществлен в промежутке между а и b альтернативным численным методом (Риддера или Брента).
Решение (распечатка MathCAD) | |
f(x) := x – sin(x) – 0.25 x := 0,0.1..2 х := 1 – начальное приближение s := root(f(x), x) s =1.171 - корень уравнения f(s)=–4.836´10–5 - погрешность |
SMath Studio
Для решения одного нелинейного уравнения с одной неизвестной система SMath Studio имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или три аргумента: roots(f(x); x) или roots(f(x); x; a), где f(x) – скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а – начальное приближение переменной х.
Решение (распечатка SMath Studio)
Решение систем линейных алгебраических уравнений
Пример 3.2. Решить систему уравнений
MathCAD
Для решения систем уравнений в среде MathCAD можно применять вычислительный блок Given/Find. Он состоит из трех частей:
1. ключевое слово Given;
2. система уравнений, записанная с помощью логических операторов;
3. вызов встроенной функции Find(xl, х2,..., хп).
Перед применением блока Given/Find необходимо задать начальные значения переменным xl, x2,хп.
Однако более наглядным является решение СЛАУ в матричной форме. В этом случае используется встроенная функция lsolve(A,b), где А - матрица коэффициентов системы, b - вектор правых частей.
Решение (распечатка MathCAD)
Решение с помощью вычислительного блока Given/Find | Решение с помощью встроенной функции lsolve |
xl :=1 х2:=1 х3:= 1 х4:=1 Given 2·xl + 4·х2 – 3·хЗ + х4 = 2 3·xl + х2 – 2·хЗ - х4 = 0 4·xl +11·х2 + 7·х3 + 2·х4 = 3 xl – x2 + 5·x3+2·x4 = 8 y := Find(xl ,х2,хЗ,х4) |
SMath Studio
Для решения систем уравнений в среде SMath Studio применяется матричный метод решения: коэффициенты левых частей уравнений записываются в квадратную матрицу A размером 4´4, свободные коэффициенты записываются в столбец B размером 4´1. Решением будет столбец X, который находится умножением обратной матрицы на столбец B: . Решение существует, если определитель матрицы A не равен нулю. Получив решение, нужно сделать проверку, т.е. убедиться, что .
Решение (распечатка SMath Studio)
Дата: 2019-03-05, просмотров: 830.