Решение систем комплексных уравнений mathcad

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

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

Использование метода Given — Find:

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

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

Рис. 1. Ввод исходных данных в поле mathcad

Далее вводятся уравнения. Их можно записать в явном или неявном виде. Само уравнение набирается с клавиатуры вручную с использованием панели Calculator. Из этой панели можно взять основные математические операции: дроби, тригонометрию, факториалы и прочее. Уравнение нужно записывать с использованием логического символа «ровно». На панели Boolean он выделен жирным шрифтом (см. рис. 2)

Рис. 2. Панели Boolean и Calculator

Когда уравнения записаны вводится функция Find(x, y, z. ) (где х, y, z. — переменные). Это функция, которая возвращает результат решения системы. Значение функции Find() можно присвоить какой-либо переменной с помощью символа «:=» и использовать ее далее в расчетах (см. рис. 3). При решении систем уравнений в mathcad результатом всегда будет являтся матрица значений

Рис. 3. Ввод функции Find()

Для того чтобы увидеть результат решения системы уравнений, после Find(x, y, z. ) следует поставить символ «» либо «=» из панели Evaluation (см. рис. 4).

Рис. 4. Панель «Evaluation»

В зависимости от сложности системы через определенное время MathCad выведет результат. На рис. 5 можно рассмотреть синтаксис и результат решения системы уравнений. Обратите внимание, что можно присваивать результат решения системы матричной переменной и можно работать с отдельными ее элементами

Рис. 5. Результат численного решения системы уравнений

Mathcad позволяет решать системы уравний в символьном виде. Обычно это полезно, когда требуется получить не точное значение переменных, а их выражения через константы. Например, если мы заменим все числовые константы на неизвестные параметры и решим уравнение относительно x, y и z, то результат выведется в символьном виде (см. рис. 6). Причем, обратите внимание, что в данном случае нам не нужно вводить начальное приближение и мы должны использовать символ «» для вывода результата. Как правило, символьное решение получается громоздким, поэтому не всегда рекомендуется использовать этот метод

Рис. 6. Результат символьного решения системы уравнений

Использование метода Solve:

Как показывает практика, методом solve иногда удается решить системы уравнений, которые не поддаются решению с помощью функции Find()

Синтаксис следующий: на панели matrix нажимаем иконку Matrix or Vector и в появившемся окне указываем количество уравнений входящих в систему. В нашем примере их будет три (см. рис. 7)

Рис. 7. Создание матрицы для метода SOLVE

Заполняем систему, вводя последовательно все уравнения используя логический символ «ровно» из панели Boolean. Каждый элемент матрицы-столбца содержит одно уравнение (см. рис. 8)

Рис. 8. Ввод системы уравнений для метода SOLVE

Когда все уравнения введены, убедитесь, что курсор ввода находится в вашей матрице и затем нажмите кнопку «solve» из панели Symbolic. Появится служебное слово (функция) solve. Далее поставте запятую и введите последовательно все переменные, относительно которых необходимо решить систему уравнений (см. рис. 9)

Рис. 9. Синтаксис метода SOLVE для решения систем

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

Рис. 10. Синтаксис метода SOLVE для решения систем

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

Donec eget ex magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fergiat. Pellentesque in mi eu massa lacinia malesuada et a elit. Donec urna ex, lacinia in purus ac, pretium pulvinar mauris. Curabitur sapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis dapibus rutrum facilisis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tristique libero eu nibh porttitor fermentum. Nullam venenatis erat id vehicula viverra. Nunc ultrices eros ut ultricies condimentum. Mauris risus lacus, blandit sit amet venenatis non, bibendum vitae dolor. Nunc lorem mauris, fringilla in aliquam at, euismod in lectus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In non lorem sit amet elit placerat maximus. Pellentesque aliquam maximus risus, vel venenatis mauris vehicula hendrerit.

Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque venenatis dolor imperdiet dolor mattis sagittis. Praesent rutrum sem diam, vitae egestas enim auctor sit amet. Pellentesque leo mauris, consectetur id ipsum sit amet, fersapien risus, commodo eget turpis at, elementum convallis elit. Pellentesque enim turpis, hendrerit tristique lorem ipsum dolor.

Решение систем комплексных уравнений mathcad

Электронный курс по 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

Решение нелинейных уравнений

Вычисление корней численными методами включает два основных этапа:

· уточнение корней до заданной точности.

Рассмотрим эти два этапа подробно.

Отделение корней нелинейного уравнения

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

Пример. Дано алгебраическое уравнение

.

Определить интервалы локализации корней этого уравнения.

Пример. Дано алгебраическое уравнение

.

Определить интервалы локализации корней этого уравнения.

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

Уточнение корней нелинейного уравнения

Для уточнения корня используются специальные вычислительные методы такие, как метод деления отрезка пополам, метод хорд, метод касательных (метод Ньютона) и многие другие.

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

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

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

Функция root с двумя аргументами требует задания (до обращения к функции) переменной начального значения корня из интервала локализации.

Пример 8.1.5. Используя функцию root , вычислить изменения корня нелинейного уравнения при изменении коэффициента а от 1 до 10 с шагом 1.

Функция polyroots . Для вычисления всех корней алгебраического уравнения порядка (не выше 5) рекомендуется использовать функцию polyroots . Обращение к этой функции имеет вид polyroots (v) , где v – вектор, состоящий из n +1 проекций, равных коэффициентам алгебраического уравнения, т.е. . Эта функция не требует проведения процедуры локализации корней.

Пример. Используя функцию polyroots , найти все три корня уравнения , включая и два комплексных

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

Решаемое уравнение задается в виде равенства, в котором используется «жирный» знак равно, вводимый с палитры Логичес­кий .

Ограничения содержат равенства или неравенства, которым должен удовлетворять искомый корень.

Функция Find уточняет корень уравнения, вызов этой функции имеет вид Find ( x ), где x – переменная, по которой уточняется корень. Если корня уравнения на заданном интервале не существует, то следует вызвать функцию Minerr ( x ), которая возвращает приближенное значение корня.

Для выбора алгоритма уточнения корня необходимо щелкнуть правой кнопкой мыши на имени функции Find ( x ) и в появившемся контекстном меню (см. рисунок) выбрать подходящий алгоритм.

Аналогично можно задать алгоритм решения и для функции Minerr ( x ).

Использование численных методов в функциях Find ( x ), Minerr ( x ) требует перед блоком Given задать начальные значения переменным, по которым осуществляется поиск корней уравнения.

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

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

В зависимости от того, какие функции входят в систему уравнений, можно выделить два класса систем:

· алгебраические системы уравнений;

· трансцендентные системы уравнений.

Среди алгебраических систем уравнений особое место занимают системы линейных алгебраических уравнений (СЛАУ).

Системы линейных алгебраических уравнений

Системой линейных алгебраических уравнений (СЛАУ) называется система вида:

В матричном виде систему можно записать как

,

где – матрица размерности , – вектор с проекциями.

Для вычисления решения СЛАУ следует использовать функцию lsolve , обращение к которой имеет вид: lsolve (А, b ), где А – матрица системы, – вектор правой части.

Решение систем нелинейных уравнений

MathCAD дает возможность находить решение системы уравнений численными методами, при этом максимальное число уравнений в MathCAD 2001 i доведено до 200.

Для решения системы уравнений необходимо выполнить следующие этапы.

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

Пример. Дана система уравнений:

Определить начальные приближения для решений этой системы.

Видно, что система имеет два решения: для первого решения в качестве начального приближения может быть принята точка (-2, 2), а для второго решения – точка (5, 20). ¨

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

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

Следующие выражения недопустимы внутри блока решения:

· ограничения со знаком ¹ ;

· дискретная переменная или выражения, содержащие дискретную переменную в любой форме;

· блоки решения уравнений не могут быть вложены друг в друга, каждый блок может иметь только одно ключевое слово Given и имя функции Find (или Minerr ).

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

Пример. Используя функцию , вычислите решение системы уравнений


источники:

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

http://pers.narod.ru/study/mathcad/07.html