Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
72
Добавлен:
12.08.2017
Размер:
8.79 Mб
Скачать
    1. Решение уравнений и систем средствамиMathcad

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

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

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

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

  • уточнениекорней − нахождение численного значения корня с указанной точностью.

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

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

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

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

  • f(x) – функция левой части уравненияf(x) = 0;

  • x– переменная, относительно которой требуется решить уравнение;

  • a, b(необязательные) – действительные числа, такие чтоa < b, причем на интервале [a, b] находится только один корень.

Если функция rootне может найти корни уравнения, то рекомендуется уточнить начальное приближение по графику, изменить границы интервала [a,b] нахождения корня или увеличить значение системной переменнойTOL.

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

Функция

Find(x1, x2, …)

возвращает значения неизвестных x1, x2, … , обращающих уравнения в верные тождества, т. е. возвращаетточноерешение системы уравнений или одного уравнения в частном случае. Для системы изnуравнений сnнеизвестными решение возвращается в виде вектора, состоящего изnэлементов.

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

Minerr(x1, x2, …),

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

Порядок применения блоков GivenFind, GivenMinerrдля численного решения уравнений и систем уравнений:

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

  2. При необходимости присваиваются требуемые значения системным переменным TOLиCTOL(ConstraintTolerance− Допуск ограничения).

  3. Печатается ключевое слово Given, которое указывает Mathcad, что далее следует система уравнений.

  4. Задаются уравнения и ограничения на поиск решения в виде неравенств (если они имеются) в любом порядке, каждое в отдельном формульном блоке, причем для записи используются операторы отношения палитры Boolean(Логические). Допускается использование двусторонних неравенств видаa ≤ x ≤ b.

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

  6. В случае использования функции Minerrвыполняется проверка.

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

  • ранжированные переменные;

  • выражения, содержащие знак ≠;

  • локальное (:=) или глобальное (≡) определение переменных и функций, за исключением выражения, в состав которого входит функция Find илиMinerr;

  • другой блок решения. Каждый блок должен содержать только одно слово Givenи одну решающую функцию.

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

Пример 4.5.Решить уравнение.

Решение.

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

Определим функцию 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.

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

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

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

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

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

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

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

Напечатаем служебное слово Given. Ниже наберемf(x) = 0, используя логический знак равенства с панелиBoolean(Логические) − комбинация клавишCtrl + =. Еще ниже напечатаем выражениеx3 = Find(x) и вывод значения третьего корняx3 =.

Уточнение корня уравнения с помощью блока GivenFindвыглядит следующим образом:

3-й способ.Уточнение корня уравнения с помощью блокаGivenMinerrосуществляется аналогично предыдущему случаю:

Примечание − Для уточнения корня в данном примере установлена точность 0,0001. Поэтому целесообразно изменить формат вывода результатов (4 знака после десятичного разделителя) в окне форматирования результатов на вкладке Number Format.

Пример 4.6.Решить систему уравнений

Решение.

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

Вставим графическую область. Аргументы по оси абсцисс и ординат введем через запятую. После форматирования график выглядит так:

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

Напечатаем ключевое слово Given, затем уравнения системы, каждое в отдельном блоке с использованием логического знака равенства (CTRL + =). Решение уточним с помощью функцииMinerr:

Так как Minerrнаходит приближенное решение системы, то необходимо сделать проверку. Для этого зададим значение системной переменнойORIGIN:=1. Первый элемент вектораX− это значение переменнойx, а второй − значение переменнойy. Подставим их в левую часть системы и вычислим, чему равна правая, используя обычный знак «=» вывода результата:

Полученные значения совпадают с заданными. Значит, система решена правильно.

Соседние файлы в папке экзамен информатика