Решение уравнений
С помощью системы 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 |
элементы не определены |