Как решить уравнение с помощью маткада

Как решить уравнение с помощью маткада

Электронный курс по MathCAD

Лекция 5.
Решение уравнений и систем.

5.1 Решение алгебраических (и других) уравнений и систем.

5.2 Решение дифференциальных уравнений и систем (задача Коши и граничные задачи).

5.3 Задание.

5.1 Решение алгебраических (и других) уравнений и систем.


Линейные алгебраические уравнения.

Определение: Уравнение вида ax+b=0 с заданным базовым множеством Gx, a из Ga , b из Gb называется линейным уравнением.

Этапы решения при помощи Mathcad:

  1. Ввести уравнение (знак «=» вводится при помощи комбинации [Ctrl++]).
  2. Выделить курсором переменную, относительно которой должно быть решено уравнение.
  3. Выбрать команду Solve (Вычислить) подменю Variable (Переменные) меню Symbolics (Символы).

При решении линейных уравнений (без параметров) или дробных уравнений, которые сводятся к линейным, MathCAD находит все существующие решения. Однако при этом следует правильно интерпретировать сообщения, выдаваемые системой.

Нормальный случай.

В качестве решения MathCAD выдает число — это означает,

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

Рассмотрим другой пример:

После выполнения описанных выше действий для нахождения решения Mathcad выдает сообщение о том, что решение не найдено.

Проанализировав данное уравнение приходим к выводу, что выданное Mathcad сообщение означает, что решений нет L=<>.

MathCAD выдает сообщение «Решение не найдено», даже если уравнение имеет «формальное решение», которое не принадлежит области определения (смотри примеры ниже).

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

Такой результат, выданный Mathcad после выполнения действий по решению уравнения, означает, что любое значение x из базового множества удовлетворяет этому уравнению, т. е. L=R.

Дробные уравнения

Команда Solve (Вычислить) из подменю Variable (Переменные) меню Symbolics (Символы)выдает множество решений: L = .

Решение 6 копируем в буфер, а затем выделяем маркером переменную x и активизируем команду Substitute (Замена) подменю Variable (Переменные) меню Symbolics (Символы) для замены переменной значением 6.

Рассмотрим другой пример:

Последнее уравнение (рисунок справа) условно эквивалентно уравнению:2x=4. Решение уравнения Mathcad: 2. Формальное решение x = 2 не входит в область допустимых значений. Mathcad выдает правильное сообщение!

Здесь также правильное решение: множество решений совпадает с областью допустимых значений L = D. Только следует учесть, что D=>.

Квадратные уравнения и алгебраические уравнения высших порядков.

Определение: Уравнение P(x)=0 называется алгебраическим уравнением n-го порядка, если P(x) представляет собой полином степени n, при n=2 данное уравнение называется квадратным уравнением.

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

Квадратное уравнение.

Команда Solve (Вычислить) подменю Variable (Переменные) меню Symbolics (Символы) дает решение в виде вектора: L= .

Иррациональное уравнения (уравнения с радикалами).

Корни (радикалы) могут вычисляться в MathCAD либо при помощи знака корня (клавиши [Ctrl+\]), либо как степени (клавиша [^] с дробными показателями. Знак квадратного корня вводится нажатием клавиши [\]. Знак корня и квадратный корень можно найти на панели Calculator (Калькулятор). Последовательность действий при решении уравнений с радикалами та же, что и при решении рассмотренных ранее уравнений.

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

  • Радикалы определены не везде в действительной области. Это обстоятельство приводит к необходимости находить область определени, прежде чем решать само уравнение. Данная проблема справедливо игнорируется MathCAD, поскольку он не может знать, во множестве каких чисел (действительных или комплексных) вы намерены решать уравнение. Выход: вы можете самостоятельно найти область определения, воспользовавшись при этом возможностями MathCAD, связанными с решениями неравенств.
  • Вторая проблема, возникающая при решении уравнений с радикалами, имеет принципиальный характер. Функция x 2 (как и любая другая функция с четным показателем) на является инъективной (проблема главных значений). В связи с этим возведение в квадрат обеих частей уравнения, содержащего квадратные корни, не является эквивалентным преобразованием. Как всегда, при применении к обеим частям уравнения не инъективного преобразования увеличивается множество решений. В результате в него могут войти «фиктивные» решения. Как ни удивительно, MAthCAD сам производит проверку решений на «фиктивность».

Классический случай решения уравнения с радикалами.

Mathcad распознает «фиктивные» решения (которые могут возникнуть в результате неэквивалентного преобразования «возведение в квадрат») и выдает верное сообщение: Решение не найдено. L =

В приведенных примерах демонстрируется способность MathCAD находить область определения иррационального уравнения путем решения неравенств.

Уравнения с радикалами третьей степени, как и уравнения с комплексными коэффициентами, не представляют для MathCAD никакой сложности.

Уравнения с параметрами.
При решении уравнений с параметрами MathCAD ведет себя по-разному, в зависимости от того, каким образом производятся символьные вычисления — с помощью символьного знака равенства или команд меню Symbolics.

В данном примере использование палитры символьных преобразований позволяет решить уравнение (solve) и упрстить результат (simplify)

Как решить уравнение с помощью маткада

Уравнение и системы уравнений в математическом пакете Mathcad в символьном виде решаются с использованием специального оператора символьного решения solve в сочетании со знаком символьного равенства, который может быть также введен с рабочей панели “Символика”. Например:

Аналогичные действия при решении уравнений в Mathcad можно выполнить, используя меню “Символика”. Для этого необходимо записать вычисляемое выражение. Затем выделить переменную, относительно которой решается уравнение, войти в меню Символика, Переменная, Разрешить. Например:

В случае, если необходимо упростить полученный результат, используется знак равенства [=]. Например:

При решении некоторых уравнений, результат включает большое количество символов. Mathcad сохраняет его в буфере, а на дисплей выводитcя сообщение: “This array has more elements than can be displayed at one time. Try using the “submatrix” function” – “Этот массив содержит больше элементов, чем может быть отображено одновременно. Попытайтесь использовать функцию “submatrix””. В этом случае рекомендуется использовать численное решение. Или, в случае необходимости, символьное решение может быть выведено и отображено на дисплее.

Символьное решение может быть получено с использованием блока given … find. В этом случае при записи уравнения для связи его левой и правой части использует символ логического равенства “=” с панели инструментов Boolean, например:

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

Пример использования блока given…find для решения системы уравнений:

MathCAD — это просто! Часть 2. Уравнения

Решение уравнений на бумаге — это задача, с которой каждый знаком еще со школьной скамьи. Сначала мы учились решать простые линейные уравнения, деля а на b и получая x, потом — системы уравнений, затем переходили к квадратным уравнениям. Находим дискриминант, извлекаем корень, делим, складываем… Все это вам знакомо, не так ли? Знакомы, наверное, и трансцендентные уравнения: тригонометрические, логарифмические (они же показательные), смешанные…

Системы трансцендентных уравнений — это вообще песня, причем песня из серии «этот стон у нас песней зовется». Люди давно уже пришли к выводу, что решать уравнения с помощью компьютера — отнюдь не роскошь, а вполне разумный подход к делу. Только раньше каждый, кто желал решить уравнение, должен был уметь программировать и владеть при этом какими-нибудь численными методами — например, методом Гаусса для решения систем линейных уравнений или методом Зейделя для решения трансцендентных. Сейчас эти все методы, конечно, тоже используются, но большая часть пользователей могут забыть их как страшный сон — все эти вычисления возможны в MathCAD’е, и именно о том, как их выполнять в этом замечательном математическом пакете, я сейчас и расскажу.

Аналитическое решение уравнений

Довольно значительное число уравнений поддаются аналитическому решению — т.е. решению в обобщенном виде, когда корни уравнения представляются в виде какой-то формулы, выражающей их зависимость от входящих в уравнение функций и различных коэффициентов перед ними. При этом, однако, надо заметить, что такой подход применим отнюдь не ко всем уравнениям — большая часть трансцендентных уравнений не может быть решена аналитически. Поэтому мы сейчас будем говорить преимущественно о полиномиальных уравнениях, известных также под названием алгебраических. Алгебраическим называется уравнение, которое можно преобразовать так, что в левой части будет многочлен от одной или нескольких неизвестных, а в правой — нуль. Степень многочлена называется степенью уравнения. Простейшие алгебраические уравнения: линейное уравнение — уравнение 1-й степени с одним неизвестным ax + b = 0, имеющее один действительный корень; квадратное уравнение — уравнение 2-й степени ax2 + bx + c = 0, которое в зависимости от значения коэффициентов может иметь либо два различных, либо два совпадающих действительных корня либо не иметь действительных корней. Вообще алгебраическое уравнение степени n не может иметь более n корней, что доказывается в рамках основной теоремы алгебры, которую в ВУЗах проходят в курсе математического анализа.

Что ж, давайте, пожалуй, перейдем к практике. То есть запустим MathCAD, включим панель символьных вычислений (Symbolic) — о том, как это сделать, уже было рассказано ранее в первой статье про MathCAD. На этой панели нам с вами понадобится оператор solve — именно он отвечает за аналитическое решение уравнений. Общий вид этого оператора такой: уравнение solve, переменная > решение. Здесь уравнение — это именно то уравнение, решение которого мы хотим найти в общем виде, а переменная — это символ, обозначающий в нашем уравнении переменную величину. Его нужно указывать для того, чтобы MathCAD (не такой уж он умный, как иногда кажется!) мог отличить переменную от коэффициентов. Давайте попробуем найти решение обычного квадратного уравнения ax2 + bx + c = 0. Для этого нажмите на кнопку Solve на панели инструментов символьных вычислений и на то место, где должно быть записано уравнение, введите наше квадратное уравнение. Здесь есть два тонких момента. Во-первых, чтобы записать «x2», нужно после x нажать Shift + 6 — тогда вы перейдете от записи переменных к записи показателя степени. Чтобы затем переключиться в режим записи других слагаемых в уравнении, достаточно нажать на клавиатуре стрелку вправо. Вообще навигация по записям в MathCAD при помощи стрелок вполне прозрачная — вы передвигаетесь стабильно в том направлении, куда указывает стрелка, и перескакиваете в показатели степени и индексы автоматически. Во-вторых, при записи уравнения в операторе solve «равно» нужно не обычное, а логическое — оно записывается с клавиатуры комбинацией Ctrl + =. При этом, если правая часть вашего уравнения равна нулю, то и ноль, и знак равенства можно опускать — MathCAD посчитает, что уравнение записано в стандартном виде, и успешно (если это, конечно, возможно) решит его. Итак, давайте посмотрим, что получилось от «скармливания» оператору solve нашего с вами квадратного уравнения.

Как видите, ничего неожиданного не произошло: MathCAD честно воспользовался известными всем еще из школьного курса алгебры формулами Виета, а решения уравнения записал в виде вектора-столбца. Несложно самостоятельно убедиться в том, что MathCAD знает и формулы Кордано для решения кубических уравнений — их он также может решать с произвольными коэффициентами. Правда, конечно, решения получаются несравненно более громоздкими, а потому я их здесь не буду приводить. Это же справедливо и для уравнений четвертой степени, для которых также существуют аналитические решения. Решение других видов уравнений (например, показательных) в аналитическом виде также вполне возможно. Например, если мы запишем уравнение eax + b = 0, то MathCAD совершенно справедливо сообщит, что решением этого уравнения будет выражение ln(-b)/a. Точно так же можно решать простые тригонометрические уравнения.

Численное решение уравнений с помощью функции solve

Но, конечно, такие красивые результаты в максимально обобщенной форме мы сможем получать далеко не всегда. Уже на уравнениях пятой степени MathCAD спотыкается, и произвольные коэффициенты приходится заменять постоянными. Впрочем, в этом ничего страшного нет — даже уравнения третьей степени со всеми произвольными коэффициентами решать вряд ли имеет смысл, поскольку гораздо проще подставить коэффициенты и получить нормальные числа в решении — в конце концов, общие формулы для решения алгебраических выражений используются именно из-за того, что живому человеку гораздо проще подставить числа в готовую формулу, чем подбирать каждый раз корни уравнения. С компьютерами дело обстоит в большинстве случаев с точностью до наоборот — получить численное решение уравнения зачастую гораздо проще, чем аналитическое. Оператор solve умеет находить и численные решения уравнений. Если аналитическое решение получить не удается, он автоматически подключает систему нахождения численных решений уравнений. Так что, если мы запишем совершенно невообразимое для нормального человека уравнение x25 + sin(x) + ln(x) + ex + 1/x = 0, то MathCAD, и глазом не моргнув, выдаст нам результат вычислений.

Но численное решение уравнений с помощью функции solve — честно говоря, не лучшая идея. Некоторые виды уравнений она решает из рук вон плохо — в первую очередь, конечно же, это относится к уравнениям тригонометрическим. Начнем с того, что эта функция выдает решение только для одного периода в то время, как большая часть решений тригонометрических уравнений описывается с помощью специального целочисленного параметра, выражающего номер периода. Но это, в общем-то, не самое худшее, поскольку иногда использование solve приводит к получению совершенно неверного результата, который при подстановке его в уравнение дает совершенно неверное значение. Конечно, это является минусом MathCAD’а, но положение дел совсем не фатально. Если использовать специальные методы решения трансцендентных уравнений, то численные результаты будут совершенно адекватными. Можно также пойти по другому пути, например, преобразуя выражения с помощью символьного процессора MathCAD (о том, как это делается, я еще расскажу в дальнейшем), а затем уже решая с помощью solve более простые уравнения, получившиеся в результате этих преобразований. Численное решение уравнений требует от пользователя понимания того, что он ожидает в результате этого решения получить. Поэтому прежде, чем приступать к рассказу о самом процессе численного решения, я расскажу об одной полезной функции, которая пригодится для численного решения простых трансцендентных уравнений.

Решение уравнений с помощью функции root

Эта очень хорошая и полезная во всех смыслах функция имеет лишь одно ограничение — она может найти всего один корень. К сожалению, несущественным это ограничение назвать, честно говоря, сложно. Впрочем, вы увидите, что и его запросто можно обойти — разработчики MathCAD, по крайней мере, предусмотрели такую возможность, и ею вполне можно воспользоваться, если, конечно, в этом есть необходимость. Функция root имеет следующий вид: root(функция, переменная). Функция — это фактически левая часть уравнения в стандартном виде, т.е. уравнения, в котором левая часть равна нулю. Переменная — это, конечно же, тот символ, который обозначает в функции переменную величину. Для использования функции root нужно задать начальное приближение — то есть число, отталкиваясь от которого, функция root будет искать корни нашего уравнения. От начального приближения может весьма существенно зависеть и сам результат работы функции root, особенно если искомые корни уравнения находятся сравнительно близко. Начальное приближение задается очень просто: набираем имя нашей переменной до функции root, ставим двоеточие (MathCAD самостоятельно преобразует его в знак присвоения «:=»), пишем число, соответствующее нашему начальному приближению.

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

Как видите, для численного нахождения уравнений с помощью функции root необходимо довольно точно представлять, где именно должны располагаться корни уравнения — сделать это можно, например, с помощью графика функции, на котором с помощью трассировки можно определить нули функции. Но о том, как строить графики и как ими потом пользоваться, как-нибудь в другой раз.

Компьютерная газета. Статья была опубликована в номере 14 за 2008 год в рубрике soft


источники:

http://allmathcad.com/ru/reshenie-uravnenij-i-sistem-uravnenij.html

http://nestor.minsk.by/kg/2008/14/kg81401.html