Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика_учебник.doc
Скачиваний:
412
Добавлен:
10.05.2015
Размер:
27.7 Mб
Скачать

Глава 8.2. Решение алгебраических уравнений и систем уравнений

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

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

Рассмотрим одно алгебраическое уравнение с одним неизвестным х: f(x) = 0, например, sin(x) = 0. Функция root в зависимости от типа задачи может включать либо два, либо четыре аргумента: root ( f(x), x) или root ( f(x), x, a ,b),

где f(x) – скалярная функция, определяющая уравнение, x – скалярная переменная, относительно которой решается уравнение, a, b – границы интервала, внутри которого происходит поиск корня.

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

Например:

x := 0.5 solution := root ( sin (x), x) solution = – 6.2 10–7.

Важно отметить, что, хотя уравнение имеет бесконечное количество корней, находится только один из них, лежащий наиболее близко к х = 0.5. Если задать другое начальное значение, например, х := 3, то решением будет другой корень уравнения х = 3.14.

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

solution:= root ( sin (x), x, –1, 1) solution = 0

Когда функция имеет четыре аргумента, следует помнить о двух её особенностях:

  • внутри интервала [a,b] не должно находиться более одного корня, иначе будет найден один из них, заранее неизвестно какой именно;

  • значения f(a) и f(b) должны иметь разные знаки, иначе будет выдано сообщение об ошибке.

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

Обратимся теперь к описанию вычислительного блока Given/find, применяемого к решению систем уравнений. Он состоит из трёх частей, идущих последовательно друг за другом:

  • Given – ключевое слово;

  • система уравнений, записанная логическими операторами в виде равенств (вместо обычного знака равенства используется логический знак равенства, расположенный на панели Булево) и, возможно неравенств;

  • find ( x, y, …) – встроенная функция для решения системы относительно переменных x, y, … .

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

С клавиатуры логический знак равенства вводится сочетанием клавиш Ctrl + =. Как и для функции root первого типа требуется задавать начальные значения для всех переменных. Значение корня, найденное функцией find есть вектор, составленный из составляющих корня по всем переменным.

Например:

Первый элемент вектора есть первый аргумент функции find, а второй элемент – её второй аргумент.

Если изменить начальные значения переменных, например, х := – 1, y := 1, то будет найден другой корень этой системы уравнений.