Как в mathcad сделать систему уравнений
Перейти к содержимому

Как в mathcad сделать систему уравнений

  • автор:

Как в mathcad сделать систему уравнений

Функции > Решение и оптимизация > Пример. Решение системы линейных уравнений

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

Решите систему n линейных уравнений с n неизвестными с использованием функции lsolve или с помощью блоков решения

Использование lsolve

1. Предположим, что имеется следующий набор уравнений (определенных с помощью оператора «равно»):

Щелкните для копирования этого выражения

2. Задайте несингулярную матрицу, соответствующую данной системе уравнений:

Щелкните для копирования этого выражения

3. Задайте вектор из констант, соответствующий данной системе уравнений.

Щелкните для копирования этого выражения

4. Используйте функцию lsolve для поиска решения:

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

Использование блоков решения

Вышеприведенную систему уравнений также можно решить с помощью блока решения.

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

1. Задайте вектор начальных приближений X:

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

2. Вставьте блок решения, а затем используйте функцию find для решения заданной системы уравнений:

Щелкните для копирования этого выражения

В вектор начальных приближений X должен быть определен выше и за пределами блока решения.

Блоки решения — решения для матриц

1. Задайте набор алгебраических уравнений Риккати (из теории систем и управления):

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

2. Задайте матрицу начальных приближений как единичную матрицу:

Щелкните для копирования этого выражения

3. Используйте функцию find для решения заданного набора уравнений:

Щелкните для копирования этого выражения

Единицы измерения в блоках решения

1. Задайте V1 , V2 и V3 значение 1 вольт:

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

Щелкните для копирования этого выражения

2. Задайте и решите систему уравнений с тремя неизвестными:

Как написать систему уравнений в mathcad

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

Для решения системы уравнений выполните следующее:

  • Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
  • Напечатайте ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
  • Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , , и .
  • Введите любое выражение, которое включает функцию Find. При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.

Функция Find возвращает найденное решение следующим образом:

  • Если функция Find имеет только один аргумент, то она возвращает решение уравнения, расположенного между ключевым словом Given и функцией Find.
  • Если функция Find имеет более одного аргумента, то она возвращает ответ в виде вектора. Например, Find(z1, z2) возвращает вектор, содержащий значения z1 и z2 , являющиеся решением системы уравнений.

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

На Рисунке 5 показан рабочий документ, который использует блок решения уравнений для решения одного уравнения с одним неизвестным. Так как имеется только одно уравнение, то только одно уравнение появляется между ключевым словом Given и формулой, включающей функцию Find. Так как уравнение имеет одно неизвестное, то функция Find имеет только один аргумент. Для решения одного уравнения с одним неизвестным можно также использовать функцию root, как показано ниже:

Рисунок 5: Блок решения уравнений для одного уравнения с одним неизвестным.

Между ключевым словом Given и функцией Find в блоке решения уравнений могут появляться выражения строго определенного типа. Ниже приведен список всех выражений, которые могут быть использованы в блоке решения уравнений. Использование других выражений не допускается. Эти выражения часто называются ограничениями. В таблице, приведенной ниже, через x и y обозначены вещественнозначные скалярные выражения, а через z и w обозначены любые скалярные выражения.

Условие Как ввести Описание
w = z [Ctrl] = Булево равенство возвращает 1, если операнды равны; иначе 0
x > y > Больше чем.
x

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

  • Ограничения со знаком .
  • Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.
  • Неравенства вида a -15 .

Причиной появления этого сообщения об ошибке может быть следующее:

  • Поставленная задача может не иметь решения.
  • Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число. Если решение задачи комплексное, то оно не будет найдено, если только в качестве начального приближения не взято также комплексное число. На Рисунке 11 приведен соответствующий пример.
  • В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Метод поиска решения, который используется в Mathcad, не позволяет в этом случае построить следующее приближение, которое бы уменьшало невязку. Для поиска искомого решения пробуйте использовать различные начальные приближения или добавьте ограничения на переменные в виде неравенств, чтобы обойти точку локального минимума.
  • В процессе поиска решения получена точка, которая не является точкой локального минимума, но из которой метод минимизации не может определить дальнейшее направление движения. Метод преодоления этой проблемы — такой же, как для точки локального минимума: измените начальное приближение или добавьте ограничения в виде неравенств, чтобы миновать нежелательную точку остановки.
  • Возможно, поставленная задача не может быть решена с заданной точностью. Если значение встроенной переменной TOL слишком мало, то Mathcad может достигнуть точки, находящейся достаточно близко к решению задачи, но уравнения и ограничения при этом не будут выполнены с точностью, задаваемой переменной TOL. Попробуйте увеличить значение TOL где-нибудь выше блока решения уравнений.

Что делать, когда имеется слишком мало ограничений

Если количество ограничений меньше, чем количество переменных, Mathcad вообще не может выполнить блок решения уравнений. Mathcad помечает в этом случае функцию Find сообщением об ошибке “слишком мало ограничений”.

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

При использовании блока решения уравнений в Mathcad необходимо задать количество уравнений по крайней мере не меньшее, чем число искомых неизвестных. Если зафиксировать значения некоторых переменных, удастся решить уравнения относительно оставшихся переменных. На Рисунке 13 показано, как, зафиксировав часть переменных, решить недоопределенную задачу из Рисунка 12. Поскольку функция Find содержит только два аргумента, z и w, Mathcad определяет переменные x, y и v как имеющие фиксированные значения 10, 50 и 0 соответственно. Блок решения уравнений становится в этом случае корректно определенным, потому что теперь имеются только две неизвестных, z и w, и два уравнения.

Рисунок 12: Функция Find имеет пять аргументов, поэтому Mathcad определяет, что требуется решить два уравнения с пятью неизвестными.

Рисунок 13: Проблема может быть решена, если уменьшить количество аргументов функции Find.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

Решение систем уравнений в 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 в символьном виде решаются с использованием специального оператора символьного решения 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 сделать систему уравнений

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

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

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

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

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

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

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

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

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

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

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

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

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

Как записать систему уравнений в mathcad

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

Для решения системы уравнений выполните следующее:

  • Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
  • Напечатайте ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
  • Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , , и .
  • Введите любое выражение, которое включает функцию Find. При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.

Функция Find возвращает найденное решение следующим образом:

  • Если функция Find имеет только один аргумент, то она возвращает решение уравнения, расположенного между ключевым словом Given и функцией Find.
  • Если функция Find имеет более одного аргумента, то она возвращает ответ в виде вектора. Например, Find(z1, z2) возвращает вектор, содержащий значения z1 и z2 , являющиеся решением системы уравнений.

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

На Рисунке 5 показан рабочий документ, который использует блок решения уравнений для решения одного уравнения с одним неизвестным. Так как имеется только одно уравнение, то только одно уравнение появляется между ключевым словом Given и формулой, включающей функцию Find. Так как уравнение имеет одно неизвестное, то функция Find имеет только один аргумент. Для решения одного уравнения с одним неизвестным можно также использовать функцию root, как показано ниже:

Рисунок 5: Блок решения уравнений для одного уравнения с одним неизвестным.

Между ключевым словом Given и функцией Find в блоке решения уравнений могут появляться выражения строго определенного типа. Ниже приведен список всех выражений, которые могут быть использованы в блоке решения уравнений. Использование других выражений не допускается. Эти выражения часто называются ограничениями. В таблице, приведенной ниже, через x и y обозначены вещественнозначные скалярные выражения, а через z и w обозначены любые скалярные выражения.

Условие Как ввести Описание
w = z [Ctrl] = Булево равенство возвращает 1, если операнды равны; иначе 0
x > y > Больше чем.
x

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

  • Ограничения со знаком .
  • Дискретный аргумент или выражения, содержащие дискретный аргумент в любой форме.
  • Неравенства вида a -15 .

Причиной появления этого сообщения об ошибке может быть следующее:

  • Поставленная задача может не иметь решения.
  • Для уравнения, которое не имеет вещественных решений, в качестве начального приближения взято вещественное число. Если решение задачи комплексное, то оно не будет найдено, если только в качестве начального приближения не взято также комплексное число. На Рисунке 11 приведен соответствующий пример.
  • В процессе поиска решения последовательность приближений попала в точку локального минимума невязки. Метод поиска решения, который используется в Mathcad, не позволяет в этом случае построить следующее приближение, которое бы уменьшало невязку. Для поиска искомого решения пробуйте использовать различные начальные приближения или добавьте ограничения на переменные в виде неравенств, чтобы обойти точку локального минимума.
  • В процессе поиска решения получена точка, которая не является точкой локального минимума, но из которой метод минимизации не может определить дальнейшее направление движения. Метод преодоления этой проблемы — такой же, как для точки локального минимума: измените начальное приближение или добавьте ограничения в виде неравенств, чтобы миновать нежелательную точку остановки.
  • Возможно, поставленная задача не может быть решена с заданной точностью. Если значение встроенной переменной TOL слишком мало, то Mathcad может достигнуть точки, находящейся достаточно близко к решению задачи, но уравнения и ограничения при этом не будут выполнены с точностью, задаваемой переменной TOL. Попробуйте увеличить значение TOL где-нибудь выше блока решения уравнений.

Что делать, когда имеется слишком мало ограничений

Если количество ограничений меньше, чем количество переменных, Mathcad вообще не может выполнить блок решения уравнений. Mathcad помечает в этом случае функцию Find сообщением об ошибке “слишком мало ограничений”.

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

При использовании блока решения уравнений в Mathcad необходимо задать количество уравнений по крайней мере не меньшее, чем число искомых неизвестных. Если зафиксировать значения некоторых переменных, удастся решить уравнения относительно оставшихся переменных. На Рисунке 13 показано, как, зафиксировав часть переменных, решить недоопределенную задачу из Рисунка 12. Поскольку функция Find содержит только два аргумента, z и w, Mathcad определяет переменные x, y и v как имеющие фиксированные значения 10, 50 и 0 соответственно. Блок решения уравнений становится в этом случае корректно определенным, потому что теперь имеются только две неизвестных, z и w, и два уравнения.

Рисунок 12: Функция Find имеет пять аргументов, поэтому Mathcad определяет, что требуется решить два уравнения с пятью неизвестными.

Рисунок 13: Проблема может быть решена, если уменьшить количество аргументов функции Find.

Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter

РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ

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

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

Функция root, блоки Given…Find, Given…Minerr

В ходе численного решения обычно выделяют два этапа:

  • отделение корней – определение интервала нахождения каждого корня или определение приблизительного значения корня. В системе Mathcad наиболее наглядным будет отделение корней уравнения графическим способом;
  • уточнение корней – нахождение численного значения корня с указанной точностью.

Точность нахождения корня устанавливается с помощью системной переменной TOL (Convergence Tolerance – Допуск сходимости), которая по умолчанию равна 10 -3 . Чем меньше значение TOL, тем точнее, вообще говоря, находится корень уравнения. Однако оптимальным является TOL = 10 -5 . Переопределить значение TOL можно в окне математических свойств документа Math Options на вкладке Build-In Variables (Встроенные переменные) или присваиванием, например, TOL:=0.0001.

Для решения одного уравнения с одной неизвестной предназначена встроенная функция root, которая в общем виде задается

root(f(x), x, [a, b])

и возвращает значение переменной x, при котором функция f(x) обращается в ноль. Аргументы функции root:

  • f(x) – функция левой части уравнения f(x) = 0;
  • x – переменная, относительно которой требуется решить уравнение;
  • a, b (необязательные) – действительные числа, такие что a -1 слева: A -1 Ax=A -1 b. Учитывая, что A -1 A, вектор-столбец решений системы можно искать в виде

Этот прием используется в Mathcad так:

  1. задается матрица коэффициентов при неизвестных системы A;
  2. задается столбец свободных членов b;
  3. вводится формула для нахождения решения системы X:=A -1 b;
  4. выводится вектор решений системы X=.

Кроме того, пакет Mathcad имеет встроенную функцию

lsolve(A, b),

возвращающую вектор-столбец решений системы линейных алгебраических уравнений. Аргументами функции lsolve являются матрица коэффициентов при неизвестных системы и столбец свободных членов. Порядок решения аналогичен рассмотренному, но вместо формулы X:=A -1 b используется X:=lsolve(A, b).

Реализовать широко известный метод Гаусса решения систем линейных уравнений позволяет встроенная функция rref(M), возвращающая ступенчатый вид матрицы M. Если в качестве аргумента взять расширенную матрицу системы, то в результате применения rref получится матрица, на диагонали которой – единицы, а последний столбец представляет собой столбец решений системы.

Решение системы линейных уравнений можно осуществить с помощью блоков Given…Find, Given…Minerr. При этом неизвестным системы задается произвольное начальное приближение, а проверка необязательна.

Порядок выполнения лабораторной работы

  1. Загрузить Mathcad Start / All Programs / Mathsoft Apps / Mathcad (Пуск / Все программы / Mathsoft Apps / Mathcad).
  2. Сохранить в личной папке на диске z: новый документ с именем ФИО1, лучше использовать латинские буквы. Производить сохранение регулярно в процессе работы (Ctrl + S).
  3. Вставить текстовую область Insert / Text Region (Вставка / Область текста) и ввести в поле документа текст:

Лабораторная работа № 4
Решение уравнений и систем в Mathcad.

  1. В новой текстовой области ввести фамилию, имя, отчество, учебный шифр и номер варианта.
  2. Выполнить задание 1.

Задание 1. Решить уравнение .

Решение.

Решение данного уравнения будем проводить в два этапа: отделение корней уравнения графически, уточнение корней уравнения.

Определим функцию f(x), равную левой части данного уравнения, когда правая равна нулю:

Зададим ранжированную переменную x на некотором диапазоне с мелким шагом, например:

Вставим в документ графическую область. Для этого выберем дважды пиктограмму с изображением графика сначала на панели Math (Математика), затем на палитре графиков Graph или выполним из главного меню последовательность команд Insert / Graph / X-Y Plot (Вставка / График / X-Y Зависимость).

Снизу по оси абсцисс наберем x, а сбоку по оси ординат введем f(x).

Для появления графика щелкнем левой клавишей мыши вне графической области.

Отформатируем график функции f(x). Для этого щелкнем правой клавишей мыши в области графика и выберем в контекстном меню команду Format (Формат). Установим пересечение осей графика (CrossedТолько оси), добавим вспомогательные линии по координатным осям (Grid LinesВспомогательные линии). Отменим при этом автосетку (AutogridАвтосетка) и установим количество линий сетки, равное 10.

Для подтверждения внесенных изменений нажмем последовательно кнопки Apply (Применить) и ОК.

После указанных преобразований график функции f(x) будет выглядеть следующим образом:

Из графика функции f(x) видно, что уравнение имеет три корня, которые приблизительно равны: x1 ≈ -1; x2 ≈ 1; x3 ≈ 2,5.

Этап отделения корней завершен.

Уточним теперь корни уравнения с помощью функции root.

Присвоим начальное приближение переменной x и укажем точность поиска корня:

Уточним заданное приближение к значению корня с помощью функции root:

Выполним проверку, подтверждающую, что первый корень найден с заявленной точностью:

Начальное приближение можно не задавать при использовании в качестве аргументов root границ отрезка нахождения корня, например, второй корень можно уточнить:

Задание 2. Решить уравнение .

Решение.

Напечатаем левую часть уравнения, не приравнивая выражение к 0, и выделим синим курсором переменную x:

Выберем из главного меню Symbolics / Polynomial Coefficients (Символика / Коэффициенты полинома). Появившийся вектор коэффициентов полинома выделим целиком синим курсором и вырежем в буфер обмена, используя кнопку Вырезать на панели инструментов Formatting (Форматирование) или комбинацию клавиш Ctrl + X.

Напечатаем v := и вставим вектор из буфера обмена, используя кнопку Вставить на панели инструментов или комбинацию клавиш Ctrl + V.

Для получения результата напечатаем polyroots(v) =:

Задание 3. Решить систему линейных уравнений Сделать проверку.

Решение.

1-й способ. Использование блока Given … Find.

Зададим всем неизвестным, входящим в систему уравнений, произвольные начальные приближения, например:

Напечатаем слово Given. Установим визир ниже и наберем уравнения системы, каждое в своем блоке. Используем при этом логический знак равенства (Ctrl + =).

После ввода уравнений системы напечатаем X := Find(x, y, z) и получим решение системы в виде вектора, состоящего из трех элементов:

Сделаем проверку, подставив полученные значения неизвестных в уравнения системы, например, следующим образом

После набора знака «=» в каждой строке должен быть получен результат, равный или приблизительно равный правой части системы. В данном примере системная переменная ORIGIN = 1.

2-й способ. Использование блока Given…Minerr.

Порядок решения системы этим способом аналогичен порядку использования блока Given … Find и представлен ниже вместе с проверкой:

3-й способ. Решение системы линейных уравнений матричным способом.

Создадим матрицу А, состоящую из коэффициентов при неизвестных системы. Для этого напечатаем A := , вызовем окно создания массивов (Ctrl + M). Число строк (Rows) и столбцов (Columns) матрицы данной системы равно 3. Заполним пустые места шаблона матрицы коэффициентами при неизвестных системы, как показано ниже:

Зададим вектор b свободных членов системы. Сначала напечатаем b :=, затем вставим шаблон матрицы(Ctrl + M), где количество строк (Rows) равно 3, а количество столбцов (Columns) равно 1. Заполним его:

Решим систему матричным способом по формуле

Решим систему с помощью функции lsolve:

Для проверки правильности решения системы, полученного матричным способом, достаточно вычислить произведение A·X, которое должно совпасть с вектором-столбцом свободных членов b:

MathCad | ANSYS CFX | MS Office

Поиск по сайту
Выбор языка

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

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

Способ №1: использование вычислительного блока Given — Find:

Вычислительный блок Given — Find хорош тем, что он способен предоставить результат решения системы уравнений в двух видах: численном и символьном. Рассмотрим каждый из них подробнее.
Численный метод применяется в том случае если инженеру или студенту, необходимо получить только лишь численные результаты своей работы. В этом случае необходимо изначально задать значения всех «букв» и переменных(!). Переменные нужно задать в качестве начальных приближений. Эти начальные приближения нужны для корректной работы численных методов MathCad (см. подробнее в Решение уравнений). При этом, если начальное приближение не задано или задано не верно, то высока вероятность, что решение найдено не будет. Далее через «жирное» равно записывается список уравнений Вашей системы, а после него Find(x,y,z. )→ либо «=».
Символьный метод применяют для нахождения выражения искомой переменной из данной системы. В этом случае не обязательно задавать все величины входящие в систему. Достаточно просто записать все уравнения по порядку и затем найти решения в виде выражений с помощью оператора Find(x,y,z. )→. Нужно отметить, что не всегда удается получить символьное выражение для переменной, ввиду сложности преобразований.

Чтобы опустить нудное разъяснение синтаксиса MathCad, ниже приводятся примеры решения систем уравнений с помощью блоков Given — Find как численном так и в символьном виде, которые наглядно продемонстрируют правила оформления решения.

Пример №1. Решение системы уравнений в MathCad с помощью блока Given — Find численно: Скачать

Пример №2. Решение системы уравнений в MathCad с помощью блока Given — Find символьно: Скачать

Способ №2: Применение метода solve:

Этот метод очень хорошо подходит для получения корня в символьном виде. Записывается он так же как и для уравнений, с тем лишь отличием, что уравнения записываются в матрицу-столбец (см. рис. 1).
Рис. 1. Панель «Матрица»
После заполнения матрицы уравнениями, нажимаем кнопку с надписью solve на панели Symbolic (см. рис. 2) и перечисляем через запятую все искомые переменные.
Рис. 2. Панель «Символьные»
Форма записи представлена в примере.

Пример №3. Решение системы уравнений в MathCad с помощью solve: Скачать

Как решать систему уравнений в «Маткаде»? Советы и рекомендации

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

Как в «Маткаде» решить систему уравнений

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

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

Сложная функция и ее график

Сложная функция

Начнем с самого простой и слегка отдаленной темы, чтобы постепенно ввести в курс дела начинающих пользователей. Это необходимо для того, чтобы символьно решить системы уравнений «Маткад», но сначала попробуем построить график для сложной функции. Пользователю нужно привести формулировку в математический вид, чтобы график функции построился корректно — так как мы имеем три участка, есть смысл воспользоваться программной конструкцией. Чтобы осуществить правильную запись уравнения, воспользуемся блоком if-otherwise.

Чтобы решить систему линейных уравнений в «Маткаде», можно использовать некоторые другие варианты. Первый способ заключается в том, что мы пишем нашу систему уравнений через оператор if. Во втором методе необходимо прибегнуть к методу логических множителей.

Логические множители и If

Строим быстрый график, нажав на сочетание клавиш Shift + 2. В появившемся окне графика вписываем функцию в средний вертикальный блок и в нижний вертикальный блок — аргумент «х».

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

Для нелинейных уравнение порядок нахождения корней мало чем отличается от другого типа. Допустим, имеем функцию f(x) = (e^x/(2(x-1)^2)-10 в интервале от -10 до 10 включительно. Перед тем, как решить систему нелинейных уравнений в «Маткаде», нужно построить график, чтобы оценить нули и воспользоваться табуляцией.

Нелинейная функция

  1. Задаем данную функцию в математическом виде, который сможет обработать вычислительная среда.
  2. Строим график функции клавишами Shift + 2, обозначив функцию в вертикальном среднем окошке. В горизонтальном устанавливаем границы, как и на интервале: от -10 до 10, — и вписываем аргумент «х» в среднюю ячейку.
  3. Теперь нам необходимо визуально обозначить нули на графике. Сделать это можно, добавив функцию 0 (вводится в среднюю вертикальную ячейку с помощью символа «,»). Стало визуально понятнее, где находятся нули функции.
  4. Время провести табуляцию на график, но при этом нужно задать диапазон значений. В рассматриваемом случае будем иметь x:=-1, 0.5 .. 7 (знак двоеточия ставится при помощи клавиши «;». Теперь отследим смену знака, оценив значения f(x).

Поиск корней при помощи функции root

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

  1. Необходимо отыскать первый корень функции «root». Присваиваем «х» следующую команду: x1:=root(f(x),x,-10,10). Затем выводим значение аргумента «х» и функции f(x1).
  2. Отыскиваем второй корень с помощью той же функции. Единственным отличием станет то, что поиск корня будет проходить через задание начального приближения. Возьмем начальное приближение «х:=0», чтобы применить root без интервала. Задаем функцию: x2=root(f(x),x), а следом отыскиваем значение аргумента и ее функции так же, как и в предыдущем примере.

Поиск корней функцией find

В отличие от предыдущей функции, здесь не используется задание интервала или начального приближения. Данная команда работает от того, что присваивается начальное условие — около корня. Разберем работу этой функции на том же примере:

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

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

Рис. 40.Пример решения уравнения с использованием функцииroot

Применяя функцию root надо помнить, что корень функции – это не то значение аргумента, при котором выражение равно нулю, а то значение аргумента, при котором значение выражения не превышает значения системной переменой TOL. Чтобы функция сработал правильно, необходимо переменной TOL присвоить новое значение, например 10 -7 , заменив им предопределенное значение (10 -3 ).

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

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

Given

выражение с функцией find или miner.

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

Рассмотрим пример решения системы нелинейных уравнений с помощью функции find.

Первое решение найдем, приняв ограничение xa), второе, приняв x>0 (рис. 41 б). Следует отметить, что для решения системы уравнений указали начальные значения x и y (т.е. x:=-1 y:=1 )

Рис. 41.Пример решения системы нелинейных уравнений:а – первая часть решения при условии x>0; б – вторая часть решения при условии x

Создание графиков

Графики создаются панелью инструментов Graph. В MathCAD можно построить графики 2 типов:

двумерные графики (декартовы и полярные графики);

трехмерные графики (линии уровня в трехмерном пространстве, трехмерная гистограмма, трехмерное множество точек, векторное поле).

Рассмотрим одну из процедур построения двумерного графика. Введем значения аргумента х как ранжированную переменную. Запишем функцию в зависимости от этого аргумента. Укажем место, где будет располагаться область графика. Выберем на панели Graph значок . В обозначенном месте документа появится область графика с несколькими местами заполнителями. Введем в места заполнений на осях имена переменных и функций, которые должны быть изображены на графике (рис. 42). Вид графика можно изменить, изменяя его данные, форматируя его внешний вид или добавляя элементы оформления. Для форматирования графиков можно воспользоваться контекстным меню, выбравFormat (или «щелкнуть» по той области, форму которой планируется изменить).

Рис. 42.Пример построения графика:а – задание функции, ее аргументов и вызов шаблона для построения графика, б – иллюстрация результата

На одном графике можно построить до 16 зависимостей. Для этого через запятую в место заполнения для наименования оси ординат (ось у) вносят наименования функций (рис. 43).

Похожие публикации:

  1. Как в archicad добавить объект в библиотеку
  2. Как в mathcad prime решить систему уравнений
  3. Как в mathcad построить двухмерный график в координатах х 0 у
  4. Как в telegram

Как в mathcad сделать систему уравнений

• Введите уравнение с использованием логического оператора равенства. Вставьте оператор аналитического преобразования, введите ключевое слово solve fully в местозаполнитель и нажмите клавишу ВВОД или щелкните любое другое место.

Щелкните для копирования этого выражения

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

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

• Чтобы решить уравнение, правая часть которого равна нулю, требуется ввести только левую часть уравнения.

Щелкните для копирования этого выражения

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

Щелкните для копирования этого выражения

• Если уравнение содержит числа с десятичной точкой, ключевое слово solve возвращает ответ как десятичное число.

Щелкните для копирования этого выражения

• Чтобы решить уравнение с учетом ограничения области определения переменной (например, решить уравнение для вещественных чисел), используйте ключевое слово assume и модификатор с ключевым словом solve .

Щелкните для копирования этого выражения

• Если уравнение имеет периодическое решение, ключевое слово solve возвращает одно значение из набора решений.

Щелкните для копирования этого выражения

Чтобы увидеть более подробное решение, добавьте модификатор fully после ключевого слова solve .

Щелкните для копирования этого выражения

• PTC Mathcad возвращает решение, выраженное через созданную новую переменную, которая представляет произвольное целое число. Имя созданной переменной начинается с символа подчеркивания во избежание конфликтов с другими переменными, которые пользователь мог определить в другом месте документа.

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

◦ Чтобы решить неравенство, используйте оператор >, <, ≤ или ≥ вместо оператора =.

◦ Чтобы ограничить решение диапазоном, можно включить уравнения ограничения, например y > 0, в вектор-столбец.

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

◦ Можно находить корни численно с помощью функции root , решать линейные системы численно с помощью функции lsolve либо решать линейные и нелинейные системы с помощью блока решения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *