ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.08.2020

Просмотров: 1194

Скачиваний: 15

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Решение:

Коэффициенты рассмотренного выше полинома записаны в векторе v. Первым в векторе должен идти свободный член полинома, вторым – коэффициент при x и т. д. Соответственно, последним, n+1–ым элементом должен быть коэффициент при старшей степени.

Иногда исходный полином имеется не в развернутом виде, а, например, как произведение нескольких полиномов. В этом случае определить все его коэффициенты можно, выделив его и выбрав в меню Symbolic (Символика) пункт Expand (Разложить). В результате символьный процессор MathCAD сам преобразует полином в нужную форму; пользователю надо будет только корректно ввести ее в аргументы функции polyroots.

3 Решение систем уравнений: вычислительный блок Given/Find

Рассмотрим решение системы n нелинейных уравнений с m неизвестными:

Здесь , …, некоторые скалярные выражения, зывисящие от скалярных переменных и возможно еще каких–то переменных.

Для решения систем в MathCAD применяется специальный вычислительный блок Given/Find (Дано/Найти), состоящий из трех частей, идущих последовательно друг за другом:

  1. Given – ключевое слово;

  2. система, записанная логическими операторами в виде равенств и, возможно, неравенств;

  3. Find() – встроенная функция для решения системы относительно переменных

Вставлять логические операторы следует, пользуясь панелью инструментов Boolean (Булевы операторы). Блок Given/Find использует для поиска решения итерационные методы, поэтому, как и для функции root, требуется задать начальные значения всех . Сделать это необходимо до ключевого слова Given. Значение функции Find представляет собой матрицу, составленную из всевозможных решений по каждой переменной, причем количество ее строк в точности равно числу аргументов Find.

Задание: Решить систему уравнений .

Решение:

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

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

Задание: Решить алгебраическое уравнение

Решение:

ОПТИМИЗАЦИЯ

1 Экстремум функции одной переменной

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


Для решения задач поиска минимума или максимума в MathCAD имеются встроенные функции Minimize и Maximize. Поиск экстремума функции включает в себя задачи нахождения локального и глобального экстремумов. В MathCAD с помощью встроенных функций решается только задача поиска локального экстремума. Чтобы найти глобальный максимум (или минимум), требуется либо сначала вычислить все их локальные значения, а затем выбрать из них наибольшее (наименьшее), либо предварительно просканировать с некоторым шагом рассматриваемую область, чтобы выделить из нее подобласть наибольших (наименьших) значений функции и осуществить поиск глобального экстремума, уже находясь в его окрестности.

Для поиска локальных экстремумов имеются две встроенные функции, которые применяются как в пределах вычислительного блока, так и автономно.

  1. Minimize(f, ) – вектор значений аргументов, при которых функция f достигает минимума

  2. Maximize(f, ) – вектор значений аргументов, при которых функция f достигает максимума, где

f() – функция,

аргументы, по которым проводится минимизация (максимизация).

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

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

Задание: Найти минимум и максимум функции одной переменной .

Решение:

Результат: Как вы заметили, существенное влияние на результат оказывает выбор начального приближения, в зависимости от чего в качестве ответа выдаются различные локальные экстремумы.

2 Условный экстремум функции одной переменной

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

Задание: Найти условный экстремум функции одной переменной .

Решение:


3 Экстремум функции многих переменных

Вычисление экстремума функции многих переменных не несет принципиальных особенностей по сравнению с функциями оной переменной.

Задание: Найти экстремум функции двух переменных

.

Решение:

Given

0<x<15

0<y<20


ЛЕКЦИЯ 3

Линейная алгебра

Простейшие операции матричной алгебры реализованы в Mathcad в виде операторов. Написание операторов по смыслу максимально приближено к их математическому действию. Каждый оператор выражается соответствующим символом. Рассмотрим матричные и векторные операции Mathcad. Векторы являются частным случаем матриц размером N×1, поэтому для них справедливы все те операции, что и для матриц, если ограничения особо не оговорены (например, некоторые операции применимы только к квадратным матрицам N×N). Какие-то действия допустимы лишь для векторов (например, скалярное произведение), а какие-то, несмотря на одинаковое написание, по-разному действуют на векторы и матрицы.

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

1 Транспонирование

Транспонированием называют операцию, переводящую матрицу размером M×N в матрицу размером N×M, делая столбцы исходной матрицы строками, а строки – столбцами. Ввод символа транспонирования (transpose) осуществляется с помощью панели инструментов Matrix (Матрица) или нажатием комбинации клавиш <Ctrl>+<l>. Не забывайте, что для вставки символа транспонирования матрица должна находиться между линиями ввода.

Задание: Транспонируйте матрицу .

Решение:

2 Сложение

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

Задание: Найдите сумму и разность двух матриц и .

Решение:



Кроме сложения матриц Mathcad поддерживает операцию сложения матрицы со скаляром. Каждый элемент результирующей матрицы равен сумме соответствующего элемента исходной матрицы и скалярной величины.

Задание: Вычислите A-x и A+x, если A – матрица и x – скаляр: и x=1.

Решение:




3 Умножение

При умножении следует помнить, что матрицу размером M×N допустимо умножать только на матрицу размером N×P. В результате получается матрица размером M×P.

Чтобы ввести символ умножения, нужно нажать клавишу <*> или воспользоваться панелью инструментов Matrix (Матрица), нажав на ней кнопку Dot Product (Умножение). Умножение матриц обозначается по умолчанию точкой.

Задание: Умножить матрицу A на транспонированную матрицу B, если и .

Решение:





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

Аналогично сложению матриц со скаляром определяется умножение и деление матрицы на скалярную величину.

Задание: Вычислить A*2 и A/2, если .

Решение:


4 Определитель квадратной матрицы

Определитель (Determinant) матрицы обозначается стандартным математическим символом. Чтобы ввести оператор нахождения определителя матрицы, можно нажать кнопку Determinant (определитель) на панели инструментов Matrix (Матрица) или набрать на клавиатуре <|> (нажав комбинацию клавиш <Shift>+<\>). В результате любого из этих действий появляется местозаполнитель, в который следует поместить матрицу. Чтобы вычислить определитель уже введенной матрицы нужно:


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

  2. Ввести оператор нахождения определителя матрицы.

  3. Ввести знак равенства, чтобы вычислить определитель.

Задание: Найдите определитель матрицы A = .

Решение:

5 Модуль вектора

По определению модуль вектора (vector magnitude) равен квадратному корню из суммы квадратов его элементов. Он обозначается тем же символом, что и определитель матрицы.

6 Скалярное произведение векторов

Скалярное произведение векторов (vector inner product) определяется как скаляр, равный сумме попарных произведений соответствующих элементов. Векторы должны иметь одинаковый размер. Скалярное произведение двух векторов u и v равно u*v = |u|*|v|*cos θ, где θ – угол между векторами. Если векторы ортогональны, их скалярное произведение равно 0. Обозначается скалярное произведение тем же символом умножения. Никогда не применяйте для обозначения скалярного произведения символ ×, который является общеупотребительным символом векторного произведения.

Пример:

7 Векторное произведение

Векторное произведение (cross product) двух векторов u и v с углом θ между ними равно вектору с модулем |u|*|v|*sin θ, направленным перпендикулярно плоскости векторов u и v. Обозначают векторное произведение символом ×, который можно ввести нажатием кнопки CrossProduct (Векторное произведение) на панели Matrix (Матрица) или сочетанием клавиш <Ctrl>+<8>.

Пример:

8 Сумма элементов вектора и след матрицы

Иногда бывает нужно вычислить сумму всех элементов вектора. Для этого существует вспомогательный оператор, задаваемый кнопкой VectorSum (Сумма вектора) на панели Matrix (Матрица) или сочетанием клавиш <Ctrl>+<4>. Этот оператор чаще оказывается полезным не в векторной алгебре, а при организации циклов с индексированными переменными.

Сумму диагональных элементов квадратной матрицы называют следом (trace) матрицы. След можно найти с помощью функции tr:

tr(A) – след квадратной матрицы A.

Задание: Найдите след квадратной матрицы A = .

Решение:



9 Обращение квадратной матрицы

Поиск обратной матрицы возможен, если матрица квадратная, и ее определитель не равен нулю. Произведение исходной матрицы на обратную по определению является единичной матрицей. Для ввода оператора поиска обратной матрицы нажмите кнопку Inverse (Обратная матрица) на панели инструментов Matrix (Матрица).

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

К квадратным матрицам можно формально применять операцию возведения в степень n. Для этого n должно быть целым числом. Ввести оператор возведения матрицы M в степень n можно точно так же, как и для скалярной величины: нажав кнопку Raise to Power (Возвести в степень) на панели Calculator (Калькулятор) или клавишу <^>. После появления местозаполнителя в него следует ввести значение степени n.