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

С помощью системы MathCAD можно решать одно уравнение с одним неизвестным и системы уравнений с несколькими неизвестными.

будет следующим (рис. 16):

х1 := -5

х2 := -4.9

хЗ := 10

х := xl,х2.. хЗ

2

у1 (х) := х + 5-х

у2(х) := 10-х + 20

1.4.1. Графический метод решения уравнения

Графическим методом решаются уравнения вида:/(х) = const или fi(x) = f2(x). В общем виде решение уравнений графическим методом основано на нахождении точек пересечения графиков, отражающих изменение значений функций левой и правой частей уравнения в интересующем нас интервале. Для этого определяют интервал изменения аргумента х, в котором предположительно находится интересующий нас корень уравнения. Если интервал большой, то не следует задавать слишком частый шаг изменения аргумента х, так как это приводит к большим затратам времени на решение уравнения и необоснованным затратам оперативной памяти, а если интервал маленький, то шаг изменения следует выбирать такой, чтобы не пропустить некоторые корни уравнения. Затем определяются две функции, соответствующие левой и правой частям уравнения. Например, алгоритм решения уравнения вида х2 + 5х = 1 Ох + 20

Точки пересечения графиков функций у1(х) и у2(х) будут корнями уравнения fl(x)=f2(x). Изменяя соответствующим образом интервал

изменения х от х1 до хЗ, а также шаг его изменения х2-х1, можно найти решение уравнения

практически с любой точностью. При наличии нескольких корней их можно найти последовательно.

Решение уравнения графическим методом

Рис. 16. Решение уравнения графическим методом

1.4.2. Аналитическое решение уравнения

Для решения одного уравнения с одним неизвестным используется функция root(). Аргументами этой функции являются выражение и переменная, входящая в это выражение. Находим значение переменной, при которой выражение обращается в ноль, т.е. решается уравнение вида F(x)=0. Функция root() возвращает значение переменной, которое обращает выражение в ноль.

В общем виде функция root() записывается: root(F(x), х) или root(F(x), х, xl, х2), где х - имя переменной с заданным начальным приближение искомого корня (обычно находится графическим методом); xl и х2 - интервал в котором находится корень уравнения w

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

Например, алгоритм нахождения корней уравнений х2 + 5х = Ют 4- 20 можно представить следующим образом (рис. 16.):

х:= -2.5

root(yl(x) - у2(х),х) = -2.623 root(yl(x) - у2(х),х,-5,3) = -2.623 root(yl(x) - у2(х),х,5,10) = 7.623

х:=7.5

root(yl(x) - у2(х),х) = 7.623

Решение уравнения аналитическим методом

минимумы или максимумы

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

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

корнями.

Чтобы установить причину ошибки, исследуйте график функции F(x). Он поможет выяснить наличие корней уравнения F(x)=0 и, если они есть, то определить приблизительно их значение. Чем точнее выбрано начальное приближение корня, тем быстрее и точнее функция root() найдет значение корня с заданной погрешностью.

1.4.3. Решение систем уравнений

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

  • - определить начальные приближения для всех неизвестных, входящих в систему уравнений;
  • - указать ключевое слово Given перед определением системы уравнений;
  • - определить уравнения системы. Между левыми и правыми частями определены символы логических операторов: равенство «=», «>», «<» и др.
  • - ввести выражение, содержащее функцию Find() в виде: Find(Varl, Var2, ... ,VarN). Число аргументов функции Find() должно быть равно числу неизвестных. Если функция Find() имеет более одного аргумента, то она возвращает ответ в виде вектора значений.

Ключевое слово Given, уравнения системы и функция Find() называются блоком решения уравнений.

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

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

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

Сообщения об ошибках

Как уже упоминалось, система Mathcad при неправильной работе выдает сообщение с указанием типа ошибки. Некоторые, наиболее часто встречающиеся ошибки приведены в таблице 3.

Таблица 3 Наиболее характерные ошибки в системе MathCAD

not a name

такое имя некорректно

undefined

переменная не определена

singularity

деление на ноль

must be nonzero

аргумент должен быть не нулевым

illegal range

ошибка в приделах

index out of bounds

индекс за пределами границ индексации

must be vector

элемент должен быть вектором

must be integer

должно быть целым

too few arguments

слишком мало аргументов

too many arguments

слишком много аргументов

domain error

ошибка в области определения

non-scalar value

переменная не скаляр

missing operand

элементы не определены

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >