Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

14-es_1 / ЭС - Информатика (ИСФ) / умк_Василевский_Информатика

.pdf
Скачиваний:
43
Добавлен:
18.05.2015
Размер:
3.4 Mб
Скачать

Приближенное решение системы нелинейных уравнений

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

Корни выражения

root(f(x),x) – возвращает значение x, при котором f равна нулю. polyroots(v) – возвращает вектор, содержащий все корни многочлена,

коэффициенты которого задаются вектором v. Аргументы:

f – скалярная функция от произвольного числа аргументов;

х – скалярная переменная, относительно которой решается уравнение f=0 (остальные переменные в f считаются фиксированными);

v – вектор, содержащий коэффициенты полинома, расположенные в порядке возрастания степеней.

Использование функции root требует предварительного задания начального приближения.

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

Если начальное приближение расположено близко к локальному экстремуму функции f, функция root может не найти корня либо найденный корень будет далеко от начального приближения.

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

lsolve(A,b) – возвращает вектор решений системы линейных уравне-

ний Ax = b.

Аргументы:

A – квадратная невырожденная матрица;

b – вектор с тем же числом строк, что и у матрицы A.

181

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

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

Аргументы x, y,... – скалярные переменные, значения которых ищутся в блоке решения уравнений.

Когда блок решения уравнений ищет одну неизвестную, функция Find возвращает скаляр. В ином случае она возвращает вектор, первым элементом которого является искомое значение x, вторым элементом – y и т.д.

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

Приближенные решения

Minerr(x,y,..) возвращает значения x, y..., минимизирующие невязку вектора ограничений в блоке решения уравнений.

Аргументы x, y,... – скалярные переменные, значения которых ищутся в блоке решения уравнений.

Когдаблокрешения уравненийищет однунеизвестную, функцияMinerr возвращает скаляр. В ином случае она возвращает вектор, первым элементом которогоявляетсяискомоезначениеx, вторымэлементом– y ит.д.

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

Начальное приближение

Задание начальных приближений требуется перед использованием функций root, find, minerr и genfit. Чтобы задать начальные приближения, просто определите переменные, значения которых отыскиваются одной из этих функций. Если рассматриваемая задача имеет несколько решений, то от выбора начального приближения будет зависеть, какое именно из возможных решений будет возвращено функцией в качестве ответа. Чтобы найти все возможные решения, используйте различные начальные приближения.

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

182

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

Лабораторная работа № 1 Использование Мathcad в качестве суперкалькулятора

Цель работы: Овладение навыками простейших расчетов в Mathcad. Составление элементарных математических выражений.

Предварительные замечания

С числами в Mathcad можно производить различные математические действия (сложение, умножение, вычитание, деление и т.д). Для выполнения вычислений установите курсор в нужном месте и введите математическое выражение, используя знаки операции с панели «калькулятор»

или с клавиатуры.

Можно производить вычисления с переменными, если присвоить значения переменным. Имена переменных чувствительны к регистру. Вначале вводится имя переменной, затем – знак присвоения «:=», затем – число или выражение.

Синий уголок показывает текущий операнд выражения, он может быть расширен клавишей «пробел» или перемещен клавишами «лево», «право», «верх», «низ».

Значение переменной доступно правее и ниже ее определения.

Знак команды вычисления – «=». Знак команды глобального присвоения – « ». Глобальные переменные доступны везде на рабочем листе.

Для ввода текстового комментария необходимо ввести знак двойной кавычки «“», затем вводить текст.

Задание

1. Вычислить значение выражения

1 .

 

2

Для набора выражения используем обычную математическую нотацию. Знак квадратного корня найдем, раскрыв арифметическую палитру, в конце выражения поставим знак равенства «=».

2. Вычислить значение выражения

,

где a = 2.35; b принимает ряд значений: 1, 5, 3.14.

Вначале переменным a и b при помощи оператора присвоения присваиваются заданные числовые значения (переменной b – первое из задан-

183

ных). Теперь этими переменными можно пользоваться при арифметических выражениях. Записав заданное арифметическое выражение и поставив в конце знак равенства (вычислить «=»), получим значение выражения при заданных a и b.

Для вычисления значения выражения при другом значении переменной b скопируем набранное нами выражение (предварительно выделив его мышкой), вставим его ниже и зададим переменной b другое значение.

Из данного примера видно, что значение переменной доступно ниже до тех пор, пока не задано другое значение этой переменной.

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

Format\Result...\Number Format\Namber of decimal places или просто дважды щелкнуть мышкой по выражению, после чего заменить 3 на 6. Установим, например, для значения выражения 6 значащих цифр:

ab =

Лабораторная работа № 2 Вычисление сумм, произведений и определенных интегралов

Цель работы: Приобретение навыков вычисления сумм произведений и интегралов в Мathcad.

Предварительные замечания

В силу того, что в результате вычисления определенных интегралов (в отличие от вычисления неопределенных) получается число, вычисление определенных интегралов производится с использованием знака равенства «=», в то время как вычисление неопределенных интегралов (так же, как и дифференциалов и др. выражений, в результате вычисления которых получается какое то-выражение) производится с использованием знака символьного вычисления (см. лабораторную работу № 3).

Для вычисления сумм и произведений воспользуемся палитрой вычислений.

184

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

(1)0 =1; 0!=1, но, к сожалению, не может считать суммы с бесконечными

пределами.

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

Например:

Аналогично вычисляются произведения. По определению:

n

(ai a1 a2 .... an)

i= 1

Например:

185

Лабораторная работа № 3 Символьные вычисления. Встроенные функции.

Цель работы: Овладение навыками символьного вычисления. Использование встроенной функции «if» в решении задач.

Предварительные замечания

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

186

Вычисление производных

187

Лабораторная работа № 4

Табулирование функций. Работа в графическом режиме. Построение графиков

Цель работы: Овладение навыками построения графиков в декартовых координатах. Ознакомление с галереей графиков.

188

Лабораторная работа № 5

Решение уравнений в символьном и численном виде. Выражение одной переменной через остальные

Цель работы: овладение навыками решения уравнений при помощи команд «solve» и «root».

Предварительные замечания

Численное решение уравнение (решение, в результате которого получается число) осуществляется с использованием команд «root (уравне-

ние, неизвестная)=» или блока «Given…Find(неизвестная)=» (использова-

ние этого блока в вычислениях см. в лабораторной работе № 6).

Для решения уравнений в численном виде предварительно необходимо задать произвольное значение неизвестной (начальную точку, от которой будет происходить поиск решения).

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

Символьное решение уравнений (решение, в результате которого получается математическое выражение) осуществляется при помощи ко-

189

манды «уравнение solve неизвестная ». Команду solve можно найти на панели «символика».

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

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

Задание

1. Решить уравнение:13 x πx + 45 = 26 x

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

x := 1 .

Затем записываем функцию root, в скобках записываем левую часть уравнения (в правой части должен быть ноль), после запятой указываем искомую неизвестную и ставим знак вычисления «=»

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

2. Решить уравнение: 5 y2 6 y +20 =0 .

Для поиска всех корней уравнение необходимо решать в символьном виде (т.к. уравнение имеет более одного корня). Выбрав из панели «символика» команду «solve» в маркере слева от команды записываем левую часть уравнения, в маркере правой части команды указываем искомую неизвестную.

190