Решение уравнений неравенств в маткаде

MathCAD — это просто! Часть 9. Неравенства

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

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

Неравенство, вообще говоря, вещь более сложная, чем уравнение, в силу того простого факта, что мы часто имеем дело с необходимостью исследования функции на всей числовой оси. Поэтому особенно соблазнительно переложить на MathCAD столь нудную и неприятную работу. Думаю, для вас не станет откровением то, что использовать для решения неравенств можно solve — точно так же, как и для решения уравнений. Порядок действий совершенно аналогичен уже изученному нами ранее: записываем собственно неравенство (к примеру, пусть это будет x2+2x-5>0), нажимаем solve на панели Symbolic и, как говорится, наслаждаемся полученным результатом. На рисунке вы можете увидеть, что, как и следовало ожидать, то неравенство, которым мы загрузили MathCAD, он разгрыз как орешек.

Пожалуй, единственный минус, который можно назвать — это то, что функция solve выдает ответы в несколько непривычном виде. То есть результат она записывает в виде вектора элементарных неравенств в то время, как удобнее бывает его записать в виде двойного неравенства или в виде интервала. Однако, глядя на рисунок, думаю, вы согласитесь со мной в том, что привести результат в удобный для человеческого глаза вид не составит никакого труда. Нужно только иметь в виду, что, если в результате вычисления решения MathCAD пришел к выводу, что данному неравенству удовлетворяет любое рациональное число, то в ответе напишет просто обозначение той переменной, относительно которой мы решали неравенство — то есть в нашем случае MathCAD написал бы, если бы было нужно, просто x. При интерпретации решений нужно внимательно следить за тем, какой именно знак (знак точного неравенства или приблизительного, то есть с возможностью равенства) используется системой в ответе: даже если из всей числовой оси не подходит всего лишь одна-единственная точка, MathCAD не выдаст вам ответ в виде x?a, а напишет в столбик два неравенства: xa.

Но если бы вывод результатов был единственным минусом всего процесса решения неравенств в MathCAD’е, то о нем, пожалуй, не стоило бы даже и вспоминать. К сожалению, есть вещи гораздо более серьезные, которые не позволяют использовать результаты решения неравенств в MathCAD’е без их предварительной проверки. Дело в том, что MathCAD не умеет грамотно работать с областью определения той переменной, которая используется в неравенстве. Это, конечно, бывает не во всех случаях — например, когда область определения ограничивается тем фактом, что неравенство у нас записано в виде дроби, но при этом и числитель, и знаменатель содержат многочлены целых степеней, то MathCAD вполне успешно справляется с такими задачами. Однако уже наличие корней в неравенстве ставит MathCAD в тупик: программа вполне может выдать результат, для которого под корнем оказываются отрицательные значения переменных в то время, как на множестве рациональных чисел вычисление корня отрицательной величины не определено. За примером подобного случая далеко ходить не надо: давайте попробуем подсунуть функции solve неравенство (x1/2-2)(x-4)>0. В качестве результата MathCAD безо всяких зазрений совести выдает ответ, который можно записать как x?4 (см. иллюстрацию). Если бы в нашем неравенстве не было корня, то этот ответ, конечно, был бы совершенно верен, однако, поскольку корень все-таки присутствует, то и ответ этот верным считать, к сожалению, никоим образом не удается.

Другая проблема, которая может возникнуть при решении неравенств (как, впрочем, и в решении уравнений) — это громоздкость выдаваемых системой в ответе выражений. Правда, для тех случаев, когда мы записываем все коэффициенты в выражениях непосредственно в числовом виде, это менее заметно, поскольку и ответ система выдает в виде чисел. Однако, если перейти от конкретных чисел к общему виду неравенств, то получится все как-то уже не так весело и жизнерадостно. Чтобы не быть голословным, приведу, как издавна уже у нас с вами повелось, пример, иллюстрирующий последние высказывания. Эта иллюстрация показывает, как MathCAD решал неравенство x1/2-a>0.

Выражение, выдаваемое MathCAD’ом результате борьбы с этим неравенством, настолько громоздкое, что даже сложно сходу оценить его правильность. В будущем мы с вами посмотрим, как можно бороться с громоздкостью выражений, используя мощь символьного процессора, встроенного в MathCAD его разработчиками, но заранее хочу сказать, что серьезно упростить с его помощью удается сравнительно небольшое число разнообразных выражений. Что это значит? Это значит, что с неравенствами лучше не увлекаться получением решения в общем виде, а решать, используя конкретные значения коэффициентов, и тогда работать с результатами решений, выдаваемыми MathCAD’ом, будет существенно проще и удобнее. Но самого грустного в песне о решении неравенств мы еще не касались. Оно же состоит в том, что даже не со всеми элементарными функциями MathCAD справляется успешно, не говоря уже о функциях специальных. Так, скажем, символьный процессор MathCAD, который и использует функция solve, «не дружит» с тригонометрическими функциями. Верится с трудом, но это так — при всей своей мощи MathCAD не может решить даже элементарное школьное неравенство sin(x) 0 у системы, как вы понимаете, тоже возникают немалые проблемы.

Возможно, вас несколько утешит мысль о том, что с показательными и логарифмическими неравенствами MathCAD справляется все-таки неплохо (правда, и здесь есть ограничение — случаи, когда переменная, стоящая в основании степенной функции, в том или ином виде попадает и в показатель). Однако и с тригонометрическими неравенствами ведь что-то нужно делать, не так ли? Действительно, способ решить сложное тригонометрическое неравенство существует — это преобразовать его таким образом, чтобы оно содержало одноименные тригонометрические функции (обычно синусы или косинусы, хотя, возможно, также и тангенсы или котангенсы — это уже зависит от вашего вкуса и от вида конкретного неравенства), а затем уже решать, но не относительно x, а относительно той функции, которая является для вашего получившегося неравенства базовой. О преобразовании выражений встроенными средствами MathCAD мы, как я уже, кажется, обещал выше, поговорим, а пока просто имейте в виду, что можно применять такой прием борьбы с тригонометрическими неравенствами. Но, к сожалению, неравенства sin(x) > 0 и sin(x) < 0 придется все же решать вручную.

Неравенства могут быть записаны и в виде системы. Если вы помните, как мы справлялись с решением систем уравнений, то и работа с системами неравенств не должна показаться для вас особенно сложной, поскольку в большинстве случаев она совершенно аналогична работе с системами уравнений. Мы записываем систему неравенств виде вектор-столбца, который потом решаем с помощью функции solve совершенно аналогично тому, как решали одиночное неравенство.

Этот метод решения систем неравенств, безусловно, подкупает, прежде всего, своей простотой, однако, сами понимаете, у всего на свете есть свои минусы (или, как сказал герой фильма «В джазе только девушки», «У всех свои недостатки»). Бывают случаи, когда solve в бессилии опускает руки перед не самой сложной системой неравенств, и тогда приходится изобретать какие-то специальные методы, которые позволили бы нам получить решение нужной системы. К счастью, ничего экстраординарного изобретать, на самом-то деле, не требуется, поскольку алгебраические неравенства обладают счастливым свойством, позволяющим нам разбить решение на несколько этапов. То есть мы можем решить каждое из неравенств системы по отдельности, а потом просто объединить результаты так, как этому учили еще в школе. То есть мы должны выбрать из всех результатов решения неравенств те промежутки, на которых наша переменная удовлетворяет каждому из наших неравенств. Сделать это, как правило, не так уж и сложно. Возможно, решение системы неравенств вторым, пошаговым, способом можно считать даже более предпочтительным путем, чем «скармливание» функции solve всей системы сразу, потому что путем преобразования мы всегда сможем добиться того, чтобы MathCAD справился с неравенством, а значит, что такой метод подходит для всех неравенств. Функция solve же, к сожалению, творческими задатками не обладает, а потому априори метод действия «в лоб», который мы применяем, используя ее ко всей системе, менее результативен, чем пошаговое решение каждого из неравенств с последующим объединением ответов. Но, конечно, какой из методов использовать сразу — это все остается на ваше собственное усмотрение.

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

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

Решение уравнений неравенств в маткаде

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

Экспоненциальные и логарифмические уравнения.

Определение: Уравнение, в котором независимая переменная входит в аргумент хотя бы одной экспоненциальной (логарифмической) функции, называется экспоненциальным (логарифмическим) уравнением.

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

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

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

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

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

Насколько полезным может быть предварительное нахождение области определения, показывает следующий пример. Область определения пустое множество, следовательно,множество решений L=<>.

Тригонометрические уравнения.

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

Для тангенса (и котангенса) этого главного значения достаточно посредством периодического продолжения atan(x)+k p , где k — целое представить все решения. При решении уравнений с тангенсами и котангенсами возникает также вполне разрешимая проблема, связанная с тем, что данные функции определены не во всех точках числовой прямой.

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

p ).

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

Данный пример демонстрирует пределы возможности MathCAD. Решение в лоб не дает никаких результатов.

Неравенства.

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

Неравенства, как и уравнения, можно решать либо с использованием символьного знака равенства, либо, отметив переменную следм курсора, посредством выполнения команды Solve (Вычислить) подменю Variable (Переменные) меню Symbolics (Символы). В разных неравенствах могут быть использованы различные знаки неравенств.

Знаки «больше» и «меньше» могут вводиться непосредственно с клавиатуры. Все остальные знаки можно вводить при помощи панели Evaluation (Вычисления), либо сочетанием клавиш.

Линейные неравенства и неравенства с дробно-рациональными функциями не составляют сложности для MathCAD.

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

При решении неравенств, содержащих трансцендентные функции,возможности MathCAD ограничены.

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

Системы линейных уравнений.

Для численного решения линейных систем уравнений в MathCAD имеется специальная функция:

lsolv(A,B) Она решает систему линейных алгебраических уравнений вида А x X =B, выдавая решение — вектор X.
А — матрица коэффициентов размерности nxn;
В — вектор свободных членов размерности n ;
X — вектор неизвестных пока решений.

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

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

Синтаксис Блока решения:

Последовательность действий при численном решении:

  • Задаем начальные (стартовые) значения для искомых переменных.
  • Заключаем уравнения в блок решения, начинающийся ключевым словом Given и заканчивающийся ключевым словом Find(v1,v2. vn).
  • Если после слова Find(v1,v2. vn) ввести знак равенства [=], MathACD выдаст численное решение.

При символьном решении не надо вводить начальные значения, а после ключевого слова Find(v1,v2. vn) вместо знака равенства следует ввести символьный знак равенства (при помощи комбинации [Ctrl+.] или соответствующей пиктограммы панели Evaluation).

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

Нелинейные уравнения и системы уравнений.

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

Эта функция возвращает значение переменной с указанным уровнем точности, при котором выражение дает 0.

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

Как известно, кубическое уравнение обязательно имеет хотя бы один кубический корень х1. Он найден вначале функцией root. Два других корня могут оказаться и комплексными. Функция root может отыскивать и такие корни. Для поиска второго корня, х2, первый исключается делением F(x) на (х-х1). Соответственно для поиска третьего корня, хЗ, F(X) делится еще и на (х-х2).

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

Функция поиска корней многочлена polyroots

Для поиска корней обычного полинома р(х) степени п MathCAD содержит очень удобную функцию:

Она возвращает вектор корней многочлена (полинома) степени п, коэффициенты которого находятся в векторе V, имеющем длину равную п+1.

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

При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом — директивой Given — и имеющий следующую структуру:

Given
Уравнения
Ограничительные условия
Выражения с функциями Find и Minerr

В блоке используется одна из следующих двух функций:

Find(vl, v2, . vn) — возвращает значение одной или ряда переменных для точного решения;

Minerr(vl, v2, . vn) — возвращает значение одной или ряда переменных для приближенного решения.

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

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

Процесс решения неравенств и систем неравенств в пакете MathCAD: интерпретация результатов

, студент 1 курса,

Каменск-Уральский политехнический колледж

Процесс решения неравенств и систем неравенств в пакете MathCAD: интерпретация результатов

Ключевые слова: пакет MathCAD, неравенство, система неравенств.

Решить неравенство – это значит найти все значения неизвестного, удовлетворяющие данному неравенству. Отыскание решения, по сути, равносильно исследованию поведения функции на всей числовой оси. Для аналитического решения неравенств используется тот же оператор панели Symbolic, что и для решения уравнений – Solve.

Рассмотрим пример решения в MathCAD следующего неравенства:

Щелкните мышью в любом месте рабочего поля Введите строку х2-1 Нажмите кнопку ≥ на панели инструментов Boolean. В создаваемом блоке появится символ логического неравенства. Введите число 0, чтобы завершить создание неравенства

Нажмите кнопку Solve на панели инструментов Symbolic В правый маркер введите переменную х, относительно которой ищется решение и нажмите клавишу Enter. В блоке появится решение созданного неравенства.

Как вы заметили, MathCAD выдает ответ в несколько отличном от принятого в математике виде, поэтому результат символьного решения неравенства нужно правильно интерпретировать.

Здесь есть несколько правил:

Оператор Solve возвращает ответ в виде вектора, содержащего элементарные неравенства. Каждое такое неравенство описывает область, в которой решаемое неравенство справедливо. Если одной из границ является бесконечность, то элементарное неравенство будет иметь вид х>a или x или (см. пример 1 рис.1). Если область замкнута, и ее границам соответствуют значения аргумента a и b, то она будет описана элементарным неравенством вида (a » или «≤» и «≥». Если граничная точка входит в область, то в стандартном виде записи используется квадратная скобка, если не входит – круглая. Для объединения областей в одно выражение используется символ «». Полностью доверять символьному процессору MathCAD можно лишь при решении очень простых неравенств, выраженных многочленами или отношением многочленов. Во всех остальных случаях нужно обязательно проверять решение по графику (см. пример 5 рис.1). Если в качестве ответа система выдаст громоздкое выражение, его следует попытаться упростить при помощи оператора Simplify.

В наиболее простых случаях при помощи оператора Solve можно решить и систему неравенств. Для этого неравенства в системе MathCAD следует объединить в вектор.

Решим в MathCAD следующую систему неравенств:

Нажмите кнопку на панели инструментов Matrix. Появится диалоговое окно Вставить матрицу. Введите в поле Строки число 2, соответствующее количеству неравенств системы, в поле Столбцы число 1.

Нажмите OK. На экране появится шаблон вектора.

Заполните маркеры в шаблоне соответствующими неравенствами системы Нажмите кнопку Solve на панели инструментов Symbolic В правый маркер введите переменную х, относительно которой ищется решение Нажмите клавишу Enter. В блоке появится решение созданного неравенства.

Ответ в стандартном виде:

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

ычисления в MathCAD. – Мн.: Новое знание, 2003. — 395с.: ил. Гурский Д., Турбина Е. MathCAD для студентов и школьников. Популярный самоучитель. – СПб.: Питер, 2005. — 400с.: ил. , MathCAD 8 PRO в математике, физике и Internet. — М.: “Нолидж”, 2000. — 512 с.: ил. MathCAD 11: Полное руководство по русской версии. – М.: ДМК Пресс, 2005. – 592 с.: ил.


источники:

http://msk.edu.ua/ivk/Informatika/Uch_posobiya/MathCad/detc/l5_1.htm

http://pandia.ru/text/83/646/69338.php