Для решения уравнений в Mathcad можно воспользоваться двумя способами. Эти способы были частично рассмотрены в разделе “Решение уравнений”:
- Метод Given – Find
- Метод Solve
Использование метода 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, заменяя константы известными числовыми значениями
Как написать систему уравнений в mathcad
Mathcad дает возможность решать также и системы уравнений. Максимальное число уравнений и переменных равно пятидесяти. В первой части этого раздела описаны процедуры решения систем уравнений. В заключительной части приведены примеры и проведено обсуждение некоторых часто встречающихся ошибок. Результатом решения системы будет численное значение искомого корня. Для символьного решения уравнений необходимо использовать блоки символьного решения уравнений. При символьном решении уравнений искомый корень выражается через другие переменные и константы.
Для решения системы уравнений выполните следующее:
- Задайте начальные приближения для всех неизвестных, входящих в систему уравнений. Mathcad решает уравнения при помощи итерационных методов. На основе начального приближения строится последовательность, сходящаяся к искомому решению.
- Напечатайте ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений. При печати слова Given можно использовать любой шрифт, прописные и строчные буквы. Убедитесь, что при этом Вы не находитесь в текстовой области или параграфе.
- Введите уравнения и неравенства в любом порядке ниже ключевого слова Given. Удостоверьтесь, что между левыми и правыми частями уравнений стоит символ =. Используйте [Ctrl]= для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов , , и .
- Введите любое выражение, которое включает функцию Find. При печати слова Find можно использовать шрифт любого размера, произвольный стиль, прописные и строчные буквы.
Find(z1, z2, z3, . . . ) | Возвращает решение системы уравнений. Число аргументов должно быть равно числу неизвестных. |
Функция 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 для решения системы уравнений:
[spoiler title=”источники:”]
http://student-engineer.pro/mathcadold/sys_equation/
http://allmathcad.com/ru/reshenie-uravnenij-i-sistem-uravnenij.html
[/spoiler]
Елена Гужвенко
Гений
(53581)
13 лет назад
MathCAD дает возможность решать системы уравнений. Максимальное число уравнений и переменных равно 50.
Результатом решения системы будет численное значение искомого корня.
Для решения системы уравнений необходимо выполнить следующее:
•Задать начальное приближение для всех неизвестных, входящих в систему уравнений. Mathcad решает систему с помощью итерационных методов.
•Напечатать ключевое слово Given. Оно указывает Mathcad, что далее следует система уравнений.
•Введите уравнения и неравенства в любом порядке. Используйте [Ctrl]= для печати символа =.
•Введите любое выражение, которое включает функцию Find, например: а: = Find(х, у) .
Глава
6. Решение уравнений и систем уравнений.
В среде системы
Mathcad можно искать решение уравнения (в
том числе и нелинейного) как численными,
так и аналитическими методами. Вы также
можете найти решение системы уравнений
(как линейных, так и нелинейных). Данная
глава представляет собой введение в
решение уравнений и систем уравнений
численными методами.
1. Решение одного
уравнения.
Mathcad позволяет
найти с заданной точностью решение
уравнения вида
f(x) = 0
где f(x)
– некоторая
известная функция. То есть, иначе говоря,
найти с заданной точностью значение
переменной x
при котором
f(x) обращается
в ноль. Для этой цели служит встроенная
функция root
(f(x), x). Так
как функция root
использует для поиска решения итерационный
метод, прежде чем вызвать ее надо задать
начальное приближение.
При использовании
функции root
корень уравнения находится методом
последовательного приближения. Процедура
поиска решения заканчивается, когда
два последних приближения отличаются
друг от друга менее чем на величину TOL
(см. главу
3). Причем
вы можете уменьшить значение TOL,
тем самым увеличив точность, с которой
вычисляется корень уравнения (в этом
случае вычисления потребуют больше
времени).
Первый аргумент
функции root
– уравнение,
решение которого надо найти, преобразованное
так, чтобы в правой части был ноль. Второй
аргумент этой функции – переменная,
относительно которой надо искать
решение.
Рассмотрим
применение функции root
в различных
примерах.
П
ример
1.
При использовании
функции root
следует
учитывать следующие правила:
-
Чтобы найти
комплексный корень надо задать
комплексное начальное приближение. -
Если уравнение
имеет несколько корней, результатом
будет тот изи них, который расположен
ближе к заданному начальному приближению.
Функция root
может иметь еще два аргумента – границы
интервала поиска решения, то есть root
(f(x), x, a, b).
Для того, чтобы решение было найдено,
необходимо, чтобы f(а)
было
положительно, а f(b)
– отрицательно (или наоборот). Для того,
чтобы правильно выбрать интервал поиска
решения или начальное приближение имеет
смысл предварительно построить график.
По этому графику вы сможете найти
координаты точек пересечения кривых,
описывающих правую и левую части
уравнения или, если уравнение имеет вид
f(x) = 0,
координаты точек пересечения f(x)
с осью
абсцисс. (Построение двумерного графика
и механизм считывания координат описаны
в ч.
II,
гл.1).
П
ример
2.
Если функция root
не сходится, причиной этого может быть:
-
отсутствие корней;
-
локальный максимум
или минимум между начальным приближением
и корнем; -
разрывы между
начальным приближением и корнями; -
корни уравнения
далеко от начального приближения; -
корень уравнения
комплексный, а начальное приближение
действительное (или наоборот).
2. Решение уравнений
с параметром.
Пусть
требуется найти несколько решений
уравнения при изменении одного из его
параметров. Например, найти решение
уравнения
для нескольких
различных значений параметра k.
Самый простой способ состоит в определении
функции
Чтобы решить
уравнение для конкретного значения
параметра k,
задайте это значение или диапазон его
изменения. Затем задайте начальное
значение переменной p.
После этого вы сможете найти искомое
значение или несколько значений корня
исходного уравнения, введя
( k,
p)
=
Ответом будет
значение или таблица значений корня
уравнения (см. пример
3).
П
ример
3.
р
ис.3.
Траектория
движения корня уравнения при изменении
параметра.
3. Решение системы
линейных уравнений.
Для
решения системы линейных уравнений
вида
M
x = v
где
M
–
матрица коэффициентов системы уравнений;
v –
вектор правых частей этой системы;
x –
искомый вектор решений,
служит встроенная
функция lsolve
(M, v).
Замечание.
Матрица коэффициентов системы уравнений
М
не должна быть вырожденной.
В следующем примере
надо найти вектор решений системы
уравнений:
Найдя искомый
вектор х,
произведем проверку, то есть убедимся,
что выполняется равенство
M
x = v.
П
ример
4.
4. Решение системы
нелинейных уравнений.
Для
решения системы нелинейных уравнений
используется так называемый решающий
блок.
(Начиная с версии Mathcad 2000 PRO с его помощью
можно решить систему, содержащую до 200
уравнений).
Выполните следующие
действия:
-
задайте начальные
приближения для всех неизвестных,
входящих в систему уравнений; -
напечатайте
ключевое слово Given
– оно указывает, что далее следует
система уравнений (шрифт и регистр
значения не имеют); -
ниже введите
систему уравнений (причем для обозначения
знака равенства нажмите одновременно
[Ctrl] [=]); -
введите любое
выражение, которое включает функцию
Find
(ее аргументы – неизвестные, шрифт и
регистр значения не имеют).
Замечание 1.
Решающий блок может также содержать
ограничения-неравенства, использующие
символы <, >,
или .
Замечание 2.
В решающий блок нельзя включать:
-
ограничения,
содержащие знак ; -
присвоения
(содержащие знак:=).
Рассмотрим пример
– надо найти при заданных ограничениях
решение системы нелинейных уравнений:
П
ример
5.
Если с помощью
функции Find
решение
найти не удается, попробуйте поставить
вместо нее функцию Minerr
(см. таблицу
5).
Эта функция использует тот же алгоритм,
что и функция Find,
с той разницей,
что, если Find
не может найти дальнейшего уточнения
решения, ответом будет сообщение об
ошибке, а Minerr
в этом случае выдаст в качестве ответа
найденное приближение, минимизирующее
функционал невязки.
Замечание.
При использовании функции Minerr
необходимо
делать дополнительную проверку на
разумность полученного решения. Для
этого используйте встроенную функцию
ERR,
выдающую ошибку приближенного решения,
полученного с помощью функции Minerr.
Покажем применение
этой функции на примере. Требуется найти
решение системы нелинейных уравнений:
Причем
вы сами можете убедиться, что с помощью
функции Find
ответ получить не удается.
П
ример
6.
Решающий блок
должен заканчиваться одним из следующих
ключевых слов:
Таблица
5.
Ключевые
слова, допустимые в решающем блоке.
Функция |
Описание |
Find |
Находит |
Minerr |
Находит |
Minimize |
Находит принимает |
Maximize |
Находит принимает |
Здесь x,
y, … могут
быть действительными или комплексными
скалярами, векторами или массивами.
Если неизвестная одна, результат –
скаляр, если неизвестных несколько,
результат – вектор решений.
Рассмотрим пример
применения функции Maximize.
Пример
7.
– начальное приближение
– система уравнений
Щелкнув
правой кнопкой мыши по ключевому слову,
завершающему решающий блок, вы увидите
всплывающее меню, которое, наряду с
привычными командами, содержит также
команды, управляющие процессом поиска
решения. Рассмотрим их подробнее:
Autoselect
–
(по умолчанию). Если включена эта опция,
Mathcad сам выбирает наиболее подходящий
алгоритм решения;
Linear
– используется алгоритм линейного
программирования. Начальное приближение
не требуется;
Nonlinear
– используется один из трех алгоритмов:
Conjugate Gradient
Levenberg-Marquardt
– не работает с функциями Minimize
и
Maximize
Quasi-Newton
(начальное
приближение обязательно надо задавать);
Quadratic
– используется алгоритм квадратичного
программирования. Этот пункт меню
доступен только в том случае если вы
установили дополнительный пакет Solving
and
Optimization
Extension
Pack
(Expert
Solver).
Report
–
отчет. Этот пункт меню доступен только
в том случае если вы установили
дополнительный пакет Solving
and
Optimization
Extension
Pack
(Expert
Solver).
Итоговые
упражнения.
-
Решить уравнение
cos(x)= 2x – 3. -
Найти решение
уравнения sin(2x)=
1-3x2
на интервале
[0.1; 2]. -
Решить систему
линейных уравнений:
-
Решить систему
нелинейных уравнений:
-
Найти значения x
и
y, минимизирующие
функцию f(x,
y) = 3x3
– 5y2.
Ограничения: x
0, y
0, x
2 – 3y2.
86
Соседние файлы в папке методичка
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Математическая программа MathCAD применяется при сложных алгебраических расчетах в то время, когда они затруднены или невозможны вручную. Данный ресурс значительно облегчает жизнь многим техническим, экономическим специальностям и студентам. Очень просто смоделировать какую-то задачу в математическом виде и получить желаемый ответ. Однако интерфейс может быть непонятен для новичков, и им тяжело адекватно воспринимать эту вычислительную среду. Одним из камней преткновения становится то, как решать систему уравнений в “Маткаде”. Это очень важная функция, которую нужно изучить всем, кто желает продолжать работать в этой программе.
Как в “Маткаде” решить систему уравнений
На самом деле это не является простейшей задачей, но на рассмотренных примерах можно научиться их решать. Очень часто пользователи сталкиваются с системами уравнений и понятием “параметр”. В математической рабочей среде параметр и то, как решать систему уравнений в “Маткаде”, находится с помощью вспомогательной функции root. Помимо того, что нам придется привлекать эту функцию в решение, нам также понадобится значение начального приближения. Вообще, видов систем уравнений несколько, поэтому рассматривать будем конкретно на разных типах. Обсудим, с какими проблемами может столкнутся пользователь при применении функции root.
- Уравнение в изначальном виде не имеет корней.
- Корни уравнения находятся на достаточно далеком расстоянии от начального приближения.
- Уравнение претерпевает разрыв между начальным приближением и корнями.
- Уравнение имеет максимум и минимум между начальным приближением и корнями.
- Уравнение имеет комплексный корень при условии, что начальное приближение было вещественным.
Сложная функция и ее график
Начнем с самого простой и слегка отдаленной темы, чтобы постепенно ввести в курс дела начинающих пользователей. Это необходимо для того, чтобы символьно решить системы уравнений “Маткад”, но сначала попробуем построить график для сложной функции. Пользователю нужно привести формулировку в математический вид, чтобы график функции построился корректно – так как мы имеем три участка, есть смысл воспользоваться программной конструкцией. Чтобы осуществить правильную запись уравнения, воспользуемся блоком if-otherwise.
Чтобы решить систему линейных уравнений в “Маткаде”, можно использовать некоторые другие варианты. Первый способ заключается в том, что мы пишем нашу систему уравнений через оператор if. Во втором методе необходимо прибегнуть к методу логических множителей.
Строим быстрый график, нажав на сочетание клавиш Shift + 2. В появившемся окне графика вписываем функцию в средний вертикальный блок и в нижний вертикальный блок – аргумент “х”.
Система нелинейных уравнений
Для нелинейных уравнение порядок нахождения корней мало чем отличается от другого типа. Допустим, имеем функцию f(x) = (e^x/(2(x-1)^2)-10 в интервале от -10 до 10 включительно. Перед тем, как решить систему нелинейных уравнений в “Маткаде”, нужно построить график, чтобы оценить нули и воспользоваться табуляцией.
- Задаем данную функцию в математическом виде, который сможет обработать вычислительная среда.
- Строим график функции клавишами Shift + 2, обозначив функцию в вертикальном среднем окошке. В горизонтальном устанавливаем границы, как и на интервале: от -10 до 10, – и вписываем аргумент “х” в среднюю ячейку.
- Теперь нам необходимо визуально обозначить нули на графике. Сделать это можно, добавив функцию 0 (вводится в среднюю вертикальную ячейку с помощью символа “,”). Стало визуально понятнее, где находятся нули функции.
- Время провести табуляцию на график, но при этом нужно задать диапазон значений. В рассматриваемом случае будем иметь x:=-1, 0.5 .. 7 (знак двоеточия ставится при помощи клавиши “;”. Теперь отследим смену знака, оценив значения f(x).
Поиск корней при помощи функции root
Перед тем, как решать систему уравнений в “Маткаде”, необходимо провести операцию root. Предварительно необходимо было построить функцию и протабулировать ее. После всех операций можно приступать к поиску корней с заданным интервалом. Итак, будем на примере нелинейного уравнения отвечать на вопрос, как в “Маткаде” решать систему уравнений:
- Необходимо отыскать первый корень функции “root”. Присваиваем “х” следующую команду: x1:=root(f(x),x,-10,10). Затем выводим значение аргумента “х” и функции f(x1).
- Отыскиваем второй корень с помощью той же функции. Единственным отличием станет то, что поиск корня будет проходить через задание начального приближения. Возьмем начальное приближение “х:=0”, чтобы применить root без интервала. Задаем функцию: x2=root(f(x),x), а следом отыскиваем значение аргумента и ее функции так же, как и в предыдущем примере.
Поиск корней функцией find
В отличие от предыдущей функции, здесь не используется задание интервала или начального приближения. Данная команда работает от того, что присваивается начальное условие – около корня. Разберем работу этой функции на том же примере:
- Необходимо обозначить начальное условие: x:=7.
- Применяем кейс Given для нашей функции и присваиваем “толстое равно” на f(x)=0.
- Теперь используем саму функцию: x3 :=find(x).
- Производим поиск значения аргумента и его функции.