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

Конспект_лекц_Кишкурно

.pdf
Скачиваний:
76
Добавлен:
09.03.2016
Размер:
2.88 Mб
Скачать

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

При записи системы уравнений после ключевого слова Given, при необходимости можно указывать ограничения на возможные значения переменных, используя символы , , > и >. При этом недопустимы ограничения со знаком и неравенства вида a < b < c.

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

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

x2 y = 1 x + y = 2

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

y1 (x)

 

x2

1

 

 

y2 (x)

 

2 x

 

x

3

 

2.9

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

графики линий y1(x), y (x)ии

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

Строим графики линий y1(x), y2(x) и

y1(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

определяем примерные координаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Определяем примерные координаты

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точек их пересечения для задания

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

точек их пересечения для задания

y2(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

начальных приближений для

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

начальных приближений для пере-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переменных x и y.

 

 

 

 

 

4

 

 

2

2

 

0

 

2

4

менных x и y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-–начальные приближения для поиска

 

 

 

 

 

 

 

 

 

 

 

 

x

2

 

y

5 x

Given

 

 

 

 

 

 

первого решения;

 

 

 

 

 

 

 

 

 

 

 

 

x2

y

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

 

2

 

 

 

 

 

 

 

-–найдено первое решение;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

Find(x y)

V

 

71

x

2

 

 

 

y 5

- начальныеприближениядля для поиска

 

 

 

 

 

поиска

 

 

 

 

 

 

второго решения;

 

Given

 

 

 

реш

;

 

 

 

 

 

 

 

 

x2

y

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

 

2

1.303

 

 

 

 

 

 

 

 

 

 

 

 

 

W

 

Find(x y)

 

найденовтороерешение.

 

 

W

 

 

 

 

 

 

 

-

 

.

 

 

 

 

 

 

0.697

 

 

 

 

 

 

 

 

 

 

 

 

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

2x1 + 3x2 x3 = 5 x1 4x2 + x3 = 4 3x1 + 5x2 2x3 = 7

В матричной записи исходная система принимает: AX=B

 

2

3

1

A

1

4

1

 

3

5

2

X

A 1 B

 

 

 

 

5

векторправых

 

 

 

 

матрица

B

4

 

-

 

 

-

 

 

 

частейуравнений-

 

ентов;.

 

 

 

 

 

 

системы;.

коэффициентов;

7

 

 

 

 

ний системы;

 

1

 

 

 

 

X

2

найденвектор решений.

 

 

-

 

реш

.

3

Решение систем линейных уравнений с помощью функции lsolve(A,B). В MathCAD1 имеется еще одна встроенная функция –

lsolve(A,B), которая служит для решения системы линейных уравне-

X

2

 

ний. Далее приведен пример решения рассматриваемой системы с по-

мощью этой функции. 3

 

 

 

1

X lsolve(A B)

X

2

 

 

3

Решение систем уравнений с помощью функции Minerr().

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

72

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

x2 +y2 =1

 

 

 

 

 

(x

3)2 +y2 =1

 

 

 

xxx 000yyy 111

 

 

Given

 

 

 

 

 

 

 

22

22

2

11

 

 

 

 

xx 2

yy

 

 

 

 

x

y

 

 

1

 

 

 

 

(x(x

22

2

22

2

11

 

 

3)3)

 

yy

 

 

(x

3)

 

y

 

1

 

 

x0

 

 

 

 

 

 

 

 

x0

 

 

 

 

((xx yy))

 

 

 

 

 

 

 

 

 

 

y0

 

Minerr(x y)

 

 

y0

 

 

 

 

 

 

 

x0

 

 

 

 

 

Найденыкоординаты точки (x0,y0),

x0

 

 

 

 

 

 

на

 

 

 

 

 

 

точки(x0,y0),лежащей на

 

 

 

 

 

 

 

на

 

 

 

 

 

 

лежащей на равном расстоянии от

y0

 

 

 

 

 

 

от

 

 

 

 

 

 

равномрасстоянии от

 

y0

 

 

 

 

 

 

от

 

y0

 

 

 

 

 

из окружностей.

 

 

 

 

 

 

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

 

 

 

 

 

 

из

.

.

 

 

 

 

 

 

из

 

Символьное решение системы линейных уравнений. Для ре-

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

Given

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x1

3 x2

x3

 

 

a

 

 

 

 

 

 

 

 

 

2 x1

3 x2

x3

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

4 x2

x3

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

4 x2

x3

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 x1

5 x2

2 x3

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 x1

5 x2

2 x3

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 a

 

b

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

4

4

 

 

 

 

 

 

 

 

 

1

Find(x1 x2 x3)

 

 

 

5 a

b

3 c

Find(x1 x2 x3)

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

4

 

4

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17 a

b

11 c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

4

 

4

 

 

 

 

 

 

 

 

 

 

 

 

73

ЛЕКЦИЯ 9

ВЫЧИСЛЕНИЯ В ПАКЕТЕ EXCEL

9.1. Решение уравнений в пакете Excel

Рассмотрим решение уравнений на примере. Пусть необходимо найти корни полинома x3 – 0,01x2 – 0,7044x + 0,139104 = 0.

Вначале решим уравнение графически. Известно, что графическим решением уравнения f(x) = 0 является точка пересечения графика функции f(x) с осью абсцисс, т. е. такое значение x, при котором функция обращается в ноль.

Проведем табулирование нашего полинома на интервале от –1 до 1 с шагом 0,2. Результаты вычислений приведены на рис. 9.1, где в ячейку В2 была введена формула =A2^3-0,01*A2^2-0,7044*A2+0,139104.

На графике видно, что функция три раза пересекает ось Оx, а так как полином третьей степени имеется не более трех вещественных корней, то графическое решение поставленной задачи найдено. Иначе говоря, была проведена локализация корней, т. е. определены интервалы, на которых находятся корни данного полинома: [–1,–0.8], [0.2,0.4]

и [0.6,0.8].

Рис. 9.1. Результаты вычислений

Теперь можно найти корни полинома методом последовательных приближений с помощью команды Подбор параметра.

74

Относительная погрешность вычислений и предельное число итераций (например, 0,00001 и 1000) задаются на вкладке MS Office / Параметры Excel / Формулы: Предельное число итераций 1000; Относительная погрешность 0,0001. После ввода начальных приближений и значений функции можно обратиться к вкладке Данные / Работа с данными / Анализ «что–если» / Подбор параметров и заполнить диалоговое окно (рис. 9.2) следующим образом: в поле Установить в ячейке дается ссылка на ячейку, в которую введена формула, вычисляющая значение левой части уравнения (уравнение должно быть записано так, чтобы его правая часть не содержала переменную); в поле Значение вводим правую часть уравнения, а в поле Изменяя значения ячейки дается ссылка на ячейку, отведенную под переменную. После нажатия кнопки ОK появится диалоговое окно Результат подбора параметра (рис. 9.3) с сообщением об успешном завершении поиска решения; приближенное значение корня будет помещено в ячейку А14.

Рис. 9.2. Окно подбора параметров

Рис. 9.3. Окно результатов подбора

 

параметров

Два оставшихся корня находим аналогично. Результаты вычислений будут помещены в ячейки А15 и А16.

Рассмотрим на примере решение нелинейного уравнения: решить уравнение ex – (2x – 1)2 = 0.

Проведем локализацию корней нелинейного уравнения.

Для этого представим его в виде f(x) = g(x), т. е. ex = (2x – 1)2 или f(x) = ex, g(x) = (2x – 1)2, и решим графически.

Графическим решением уравнения f(x) = g(x) будет точка пересечения линий f(x) и g(x). Построим графики f(x) и g(x). Для этого в диапазон А3:А18 введем значения аргумента. В ячейку В3 введем формулу для вычисления значений функции f(x): = exp(A3), а в С3 для вы-

числения g(x): = (2*A3–1)^2.

Результаты вычислений и построение графиков f(x) и g(x) в одной графической области показаны на рис. 9.4.

75

На графике видно, что линии f(x) и g(x) пересекаются дважды, т. е. данное уравнение имеет два решения. Одно из них тривиальное и может быть вычислено точно:

(x 0)

ex

1

y(x) 1.

 

1)2

 

(2x

1

Рис. 9.4. Результаты вычислений

Для второго можно определить интервал изоляции корня: 1,5 < x < 2. Теперь можно найти корень уравнения на отрезке [1,5;2] методом последовательных приближений. Вводится начальное приближение в ячейку Н17=1,5, и само уравнение, со ссылкой на начальное прибли-

жение, в ячейку I17=EXP(H17)-(2*H17-1)^2 (рис. 9.4).

Далее воспользуемся меню Данные / Работа с данными / Анализ «что–если» / Подбор параметров и заполним диалоговое окно

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

9.2. Решение систем уравнений в электронных таблицах Excel

Решение систем линейных уравнений матричным способом. В

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

76

следует понимать диапазон ячеек на рабочем листе. Некоторые из этих функций приведены в табл. 9.1.

 

Таблица 9.1

Встроенные функции для работы с матрицами

 

 

Функция

Значение

=ТРАНСП(X)

Транспонирование матрицы X

=МУМНОЖ(X;Y)

Вычисление произведения матрицы X на Y

=МОПРЕД(X)

Вычисление определителя матрицы X

=МОБР(X)

Вычисление матрицы, обратной матрице X

Сумма (X+Y) и произведение (XY) вычисляются с использованием знаков «+» и «*» соответственно.

Для ввода в ячейку таблицы матричной функции необходимо: выделить на рабочем листе таблицы необходимый диапазон ячеек (число строк и столбцов, соответствующих результату матричной операции); ввести необходимую формулу; нажать комбинацию клавиш «Ctrl» + «Shift» + «Enter». После этого правильно введенная формула заключается в фигурные скобки, что свидетельствует о том, что эта формула введена в каждую ячейку выделенного диапазона ячеек.

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

Так, если диапазону ячеек B8:D10 присвоить имя Matr1, а диапазону G8:G10 – имя Vec, то операция перемножения матриц будет выглядеть так: =МУМНОЖ(Matr1;Vec).

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

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

MS Oficce / Параметры Excel / Надстройки / кнопка Перейти. В

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

ним из следующих способов.

1. Найти минимум (максимум) функции

n

(x) i 1Fi (x)

77

при системе ограничений, заданной в виде равенств Fi(x) = 0. 2. Найти минимум функции

(x)

n F 2(x)

F 2(x)

F 2(x) ... F 2

(x).

 

i 1 i

1

2

n

 

 

 

 

В этом случае задача решается без ограничений.

Рассмотрим решение системы уравнений вторым способом на конкретном примере:

sin(2x

y) 1,2 0,2

x2 y2

1

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

Для первого уравнения системы имеем:

(sin(2x y) 1, 2x 0, 2 (sin(2x y) 0, 2 1, 2x

y arcsin(0, 2 1, 2x) 2x)

Выясним область допустимых значений (ОДЗ) полученной функции:

( 1

 

1, 2x

 

1)

0, 2

 

0, 2

1, 2x

1

 

 

 

0, 2

1, 2x

 

1

 

 

1, 2x 0,8

 

 

 

1, 2x

1, 2

 

 

 

x

0,667

x

( 0,667;1)

x 1

 

 

 

 

 

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

линий, описанных уравнениями системы. Точки пересечения линий, изображенных на рис. 9.5, являются графическим решением системы нелинейных уравнений.

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

78

дважды, предварительно определив интервал изоляции корней по осям Оx и Oy.

Рис. 9.5. Результаты графического решения системы нелинейных уравнений

Рис. 9.6. Пример оформления листа Excel

79

В данном случае первый корень лежит в интервалах (–0.5;0)x и

(0.5;1)y, а второй – (0;0.5)x и (–0.5;–1)y.

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

Теперь необходимо дважды воспользоваться командой Данные / Поиск решения, заполняя появляющиеся диалоговые окна, как показано на рис. 9.7.

Рис. 9.7. Диалоговое окно «Поиск решения» и результаты вычисления

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

80