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

Как поставить корень в маткаде

  • автор:

КР_студентам_cбросить / Пособие_MathCAD / Лаб_3_Операторы Mathcad

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

В среде Mathcad рассматриваются основные операторы:

— векторов и матриц;

Рассмотрим их подробней.

Арифметические операторы

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

Арифметические операторы MathCAD.

Горячие клавиши:

Панель Арифметика:

корень n-ой степени

p[Ctrl]g или [Ctrl][Shift]p

(целое с дробной частью)

деление (/) запись дробью

деление () запись в строку

присваивание (:=)

Вычисление (=)

Приведем пример использования арифметических операторов:

Операторы векторов и матриц

Операторы векторов и матриц предназначены для выполнения разнообразных вычислений с векторами и матрицами. Одни из них доступны из панели Matrix, другие можно вызвать с помощью горячих “клавиш”, таблица 3.2.

Операторы векторов и матриц.

Горячие клавиши:

Панель Matrix:

[Ctrl]M

получить обратную матрицу

определитель матрицы и модуль

выделить из матрицы столбец

скалярное произведение матриц

векторное произведение матриц

сумма элементов вектора

преобразовать матрицу в изображение

отсутствуют:

возведение матрицы в степень

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

Приведем пример использования векторизации. Пусть дано квадратное уравнение

где а, b, c – вектора из четырех аргументов каждый. Найти корни уравнения. Пусть

Приведем примеры некоторых операций с векторами.

Операторы вычислений

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

Горячие клавиши:

суммирование с ранжированной переменной

произведение с ранжированной переменной

Приведем несколько примеров использования операторов вычислений:

Оператор «производная» предназначен для нахождения численного значения производной функции в заданной точке. Производная вычисляется с точностью 7-8 значащих цифр:

Оператор «n-ая производная» предназначен для нахождения численного значения производной высокого порядка функции в заданной точке. Точность алгоритма уменьшается на одну значащую цифру при увеличении порядка производной на одну единицу:

Рис. 3.1. Функция и ее первая производная

Оператор «интегрирование» предназначен для численного интегрирования функции на некотором интервале [а,b]. Точность интегрирования зависит от вида функции (гладкая, наличие точек разрыва, асимптот и т.д.) и устанавливается системной переменной TOL. При изменении точности необходимо соблюдать компромисс между точностью и временем вычисления.

Рис.2.2. Функция и ее интеграл

Суммирование выражения Х по i возвращает сумму ( ∑ ) при Xi по m ≤ i ≤ n, т.е.

где i, m, n – целые. Выражение Xi может быть любым. Если Х имеет несколько слагаемых, то их нужно взять в круглые скобки. Переменная i определена только внутри оператора суммирования. Она может быть дискретным аргументом.

Аналогично сумме ( ∑ ) можно вычислить произведения ( ∏ ) выражений Xi.

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

Булевы операторы

Булевы операторы используются в вычисляемых, условных или аналитических выражениях и возвращают 0 или 1. Они вызываются кнопкой на математической палитре или с помощью главного меню View > Toolbars > Boolean (см. таблицу 3.4).

Приведем некоторые примеры использования булевых операторов:

Таблица 3.4.

Равно ()

Меньше чем ()

Больше чем ()

Меньше чем или равно ()

Больше чем или равно ()

Не равно ()

Булево отрицание NOT ()

Булево AND ()

Булево OR ()

Булево XOR ()

Лабораторная работа 3

Цель работы:

изучить арифметические операторы, операторы векторов и матриц, операторы вычислений и булевы операторы;

— использовать операторы MathCAD при создании документов.

Задание 1. Привести примеры использования арифметических операторов. Создать сложное выражение, сформированное с помощью большинства кнопок панели «Арифметика» (см. таблицу 3.1).

Задание 2. Создать матрицу, инициализировать ее, напечатать некоторые ее элементы, получить транспонированную и обратную матрицы, найти ее определитель, максимальный и минимальный элементы, получить сумму, разность, скалярное и векторное произведение матриц, выполнить операции векторизации.

Задание 3. Выполнить операции дифференцирования и интегрирования функций, заданных в лабораторной работе 2 (таблица 2.1), построить графики функций и их первых и вторых производных. Построить интегральные функции. Привести примеры использования операторов сумм и произведений. Привести примеры использования шаблонов пределов функций.

Задание 4. Привести примеры использования всех булевых операторов.

Как поставить корень в маткаде

«Горячие» клавиши для ввода встроенных операторов

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

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

Функция root в маткаде

Простейший способ найти корень уравнения с одним неизвестным обеспечит функция root ( ). Аргументами функции root ( ) являются вид функции определяющей решаемое уравнение и имя переменой, относительно которой ищется решение – root (f(x),x) Если уравнение содержит несколько корней, то функция обеспечивает нахождение единственного корня, ближайшего к заданному начальному значению для искомой переменной. Точность вычислений может быть увеличена или уменьшена посредством задания значения переменной TOL, равной по умолчанию 10-3 и определённой в меню Math, Options (Математика, Опции). Установленное значение TOL также оказывает влияние на точность вычислений.

Уравнение с одним неизвестным: функция root

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

  • root(f(x),x);
  • root (f (x), x, a, b):
    • f(x) – скалярная функция, определяющая уравнение f(x)=0;
    • х – имя скалярной переменной, относительно которой решается уравнение;
    • а, b – границы интервала, внутри которого происходит поиск корня.

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

    Листинг 5.13. Два варианта уравнения методом секущих:

    Как вы можете убедиться (первая строка листинга 5.13), для решения уравнения при помощи функции root (f (x),x,a,b) не требуется задавать начального приближения, а достаточно указать интервал [а,b]. Поиск корня будет осуществлен в промежутке между а и b альтернативным численным методом (Риддера или Брента). Когда root имеет четыре аргумента, следует помнить о двух ее особенностях. Во-первых, внутри интервала не должно находиться более одного корня, иначе будет найден один из них, заранее неизвестно, какой именно. Во-вторых, значения f (а) и f (b) должны иметь разный знак, иначе будет выдано сообщение об ошибке.

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

    Приведем пример простой функции f(x), корни которой удается отыскать только при помощи функции root (листинг 5.14). Она определена в первой строке этого листинга, а ее корень вычислен во второй строке. Из графика, представленного на рис. 5.5, видно, что f (х) имеет особенность в окрестности своего корня, являясь в ней разрывной. В завершающей части листинга 5.14 предпринимается попытка отыскать нулевое значение f (х) посредством вычислительного блока Given/Find, которая оказывается неудачной.

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.

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

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

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

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

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

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

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

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

    image002.jpg

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

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

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

    image007.jpg

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

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

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

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

    image015.jpg

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

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

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

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

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

    image022.jpg

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

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

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

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

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

    image025.jpg

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

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

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

    image028.jpg

    7+1. Odesolve

    Наша самая первая задача о движении моторной лодки туда и обратно (см. рис. 1 и 2) имеет существенное допущение: скорость лодки считается постоянной. Но это условие выполнить практически невозможно, т. к. лодка по прибытии в один конец пути должна сбросить скорость, развернуться и пуститься в обратный путь. Смоделировать снижение скорости лодки перед ее разворотом нам поможет функция Odesolve, предназначенная для решения (solve) обыкновенных (o – ordinary) дифференциальных (d) уравнений (e – equation) и их систем. Если при численном решении алгебраических уравнений и их систем мы получаем числа, подстановка которых в уравнения превращает их в тождества, то при решении дифференциальных уравнений и их систем мы получаем функции, подстановка которых превращает исходные дифференциальные уравнения в тождества. Заметим, что функция Odesolve в группе «Решение уравнений» стала восьмой (7 + 1 – см. выше) только в среде Mathcad Prime. В Mathcad 15 в группе «Решение уравнений» ее нет.

    Итак, задача 4. На моторной лодке, движущейся со скоростью v, заглушили мотор. Спрашивается, как будут меняться скорость лодки и пройденный ею путь? Задача предельно упрощена – на лодку действует сила трения, пропорциональная квадрату скорости лодки (см. рис. 14, 15, 16 и 17, где этот квадрат фигурировал). На рисунке 18 показано решение и графическое отображение этой задачи с помощью функции Odesolve.

    image018_32.jpg

    Рис. 18. Решение задачи об остановки лодки

    Коэффициент пропорциональности, записанный в уравнении на рис. 18 (масса лодки, помноженная на ускорение – на первую производную скорости по времени), состоит из двух частей, связанных с трением о воздух надводной части лодки и трением о воду ее подводной части. Эти коэффициенты пропорциональны плотности ρ среды (воздуха или воды) и площади поперечного сечения надводной и подводной частей лодки S.

    Задачу об остановке моторной лодки мы решили численно: функция Odesolve не ищет аналитического решения уравнения. Она формирует таблицу значений искомых функций v (скорость лодки) и x (пройденный путь), по которым интерполяцией создается непрерывная функция, по которой мы построили графики (см. рис. 18).

    В среде Mathcad нет средств аналитического (символьного) решения дифференциальных уравнений. Но их можно поискать и найти в Интернете. На рисунке 19 показано такое решение – логарифмическая функция. Оно нашлось, поскольку исходное уравнение было достаточно простым. Но если с нашей задачи начать снимать ограничения, позволяющие упростить уравнение, то символьного решения уже не будет, и нам придется возвращаться к численным методам – к функции Odesolve. Так, например, при торможении лодки площадь поперечного сечения ее надводной части уменьшается, а подводной части растет[6]. Коэффициенты kвозд и kводы (см. блок исходных данных на рис. 18) также зависят от скорости и характера движения лодки: они одни при ламинарном («гладком») обтекании тела и другие при турбулентном движении, когда за лодкой клубятся вихри воды и воздуха. У воды и воздуха разная вязкость, что тоже нужно учитывать при математическом моделировании движении лодки. Этим занимается очень интересная наука под названием гидрогазодинамика…

    image019_34.jpg

    Рис. 19. Символьное решение дифференциального уравнения

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

    Школьнику, студенту, инженеру или ученому необходимо (а в ряде случаев и достаточно) освоить «великолепную семерку Mathcad», особенности численных, графических и аналитических методов решения задач, чтобы успешно решать на компьютере свои учебные или профессиональные задачи.

    Очков математики и математические пакеты // Открытое образование, №2, 2013. С. 23-34 (http://twt. mpei. ac. ru/ochkov/Mathcad-15/OchkovMath-pdf. pdf)

    [1]Первое действие: как долго лодка была бы в пути, если б вода в реке была неподвижна – 2*10 км/12 км/ч = 1 час 40 минут; второе действие… Читатель, докончи это решение сам и сравни с теми, которые приведены ниже. Мы по действиям такие задачи решали когда-то в 5 классе школы. Но не всякая задача может быть решена по действиям. Поэтому и была придумана алгебра. Эту задачу тоже сходу нельзя решить пошагово. В древние времена, пока не было формулы корней квадратного уравнения, не всякое квадратное уравнение могли решить, причем решения были очень хитроумными.

    [2] На этом и некоторых других рисунках будут показаны инструменты Mathcad Prime и Mathcad 15 для решения описываемых задач.

    [3] А такими «нефизическими» формулами заполнены все учебники и задачники по математике. И это очень плохо. Хорошо тогда, когда за формулой скрывается какая-нибудь физическая реальность.

    [4] Навстречу друг другу по одноколейной дороге одновременно вышли два поезда. И не столкнулись. Почему? Ответ: не судьба! ��

    [5] Мы имеем в виду знаменитое «Золотое сечение», т. е. такое деление отрезка на две неравные части, при котором длина отрезка так относится к длине большей части, как длина большей части относится к длине меньшей.

    [6] Самые быстроходные суда те, у которых подводная часть минимальна: глиссирующие суда, суда на подводных крыльях или на воздушной подушке.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Как поставить корень в маткаде

    Как поставить корень в mathcad

    2. Вычислить наибольший из корней методами, указанными в варианте. Точность . Программа должна быть универсальной. Методы оформить в виде отдельных подпрограмм, содержащих проверку условий сходимости метода. Метод, начальное приближение задавать как параметр, вводимый с клавиатуры. Вычислить корень при различных значениях . Вывод на консоль: метод, , номер итерации — k, , .

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

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

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

    lsolve(A, b),

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

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

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

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

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

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