Вычислить значение квадратичной формы в excel

x = x + dx i = i + 1

If x <= xk + e Then GoTo 10 End Sub

Некоторые комментарии к программе:

впрограммевлогическомвыраженииx <= xk + e используется цифровая константа e = 0.001, применение которой обеспечивает получение спектра значений X от -1 до 0.3 включительно;

в тексте программы встречаются обращения к приложению,

например, Cos(Application.WorksheetFunction.Pi), которое озна-

чает, что для вызова функции π последовательно обращаются сначала к приложению Application, затем к функциям рабочего листа WorksheetFunction и, наконец, к конкретной функции Pi;

чтобынедопуститьошибкивэтойдостаточносложнойграмматической конструкции, следует воспользоваться возможностями дружественного интерфейса VBA, для чего в тексте программы написать Cos(Application., и после постановки точки появится подменю разделов Приложения (рис. 4.2).

Рис. 4.2

После точки следует добавить букву W, и тогда в подменю поя-

вится раздел WorksheetFunction (рис. 4.3).

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

Рис. 4.3

Рис. 4.4

Продолжить запись арифметического выражения Cos(Application.WorksheetFunction.Pi в соответствии с выполняемым заданием.

5. ПОСТРОЕНИЕ ПОВЕРХНОСТИ

Лабораторная работа «Построение поверхности» также состоит из двух частей:

табулирование функции поверхности в Excel;табулирование функции поверхности в VBA.

Критерием правильности является совпадение полученных таблиц.

Отличием в табулировании функции от двух параметров Z(x,y) является то, что спектр значений аргумента X формируется в столбце в диапазоне A6:A16, а спектр значений аргумента Y формируется в строке в диапазоне B5:L5 (рис. 5.1).

Величина начального значения аргумента X устанавливается

вячейке A6 и выбирается в соответствии с выполняемым заданием, в данном случае A6=0.

Величина начального значения аргумента Y устанавливается

вячейке B5 и также выбирается в соответствии с выполняемым заданием, в данном случае B5=0.

Значение ячейки A7 определяется как результат вычисления арифметического выраженияA7 = A6 + $B$1, где $B$1 – шаг изменения аргумента X, который выбирается произвольно.

Значения диапазона A8:A16 получаются в результате копирования ячейки A7 по указанному диапазону.

Значение ячейки С5 определяется как результат вычисления арифметическоговыраженияС5 = B5 + $B$2, где$B$2 – шагизменения аргумента Y, который выбирается произвольно.

Значения диапазона D5:L5 получаются в результате копирования ячейки C5 по указанному диапазону.

Ключевым моментом в формировании таблицы значений функции Z(x,y) является запись в ячейку B6 арифметического выражения, соответствующего функции поверхности выполняемого зада-

ния Z(x,y) = 2x2 + 3y2.

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

=2*$A6^2+3*B$5^2

в котором используется абсолютно-относительная адресация. Затем арифметическое выражение ячейки B6 копируется в ди-

апазон B6:L16.

В результате любая ячейка из диапазона B6:L16 в качестве аргумента X использует соответствующую (относительная адресация) ячейку столбца A диапазона A6:A16 (абсолютная адресация), а в качестве аргумента Y использует соответствующую (относительная адресация) ячейкустроки5 диапазонаB5:L5 (абсолютнаяадресация).

Рис 5 1 Рис. 5.1

Диапазон B6:L16 используется для построения графика поверхности.

Программа построения поверхности в VВА

Private Sub CommandButton2_Click() Dim i As Integer

Dim ni As Integer Dim j As Integer Dim nj As Integer Dim x As Single Dim xn As Single Dim xk As Single Dim dx As Single Dim y As Single Dim yn As Single Dim yk As Single Dim dy As Single e = 0.001

xn = InputBox(«Xn = «, «Ввод начального значения X», 0, 8000, 2000) xk = InputBox(«Xk = «, » Ввод конечного значения X», 1, 8000, 1000) dx = InputBox(«dX = «, » Ввод значения шага X», 0.1, 8000, 2000)

yn = InputBox(«Yn = «, » Ввод начального значенияY», 0, 8000, 2000) yk = InputBox(«Yk = «, » Ввод конечного значенияY», 1, 8000, 1000) dy = InputBox(«dY = «, » Ввод значения шагаY», 0.1, 8000, 2000)

i = InputBox(«i = «, «Ввод начала таблицы, строка I», 20, 8000, 1000) j = InputBox(«j = «, » Ввод начала таблицы, столбец J», 1, 8000, 2000) Cells(i, j) = «X/Y»

ni = i: nj = j: x = xn 10 Cells(i + 1, j) = x x = x + dx: i = i + 1

If x <= xk + e Then GoTo 10 y = yn: i = ni

20 Cells(i, j + 1) = y y = y + dy: j = j + 1

If y <= yk + e Then GoTo 20 y = yn: j = nj

30 i = ni: x = xn

40 z = 2 * x ^ 2 + 3 * y ^ 2 Cells(i + 1, j + 1) = z

24

i = i + 1: x = x + dx

If x <= xk + e Then GoTo 40 y = y + dy: j = j + 1

If y <= yk + e Then GoTo 30 End Sub

Некоторые комментарии к программе:

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

X и Y;

в программе с помощью промежуточных переменных ni и nj запоминаются начальные значения i – строки, с которой начинается таблица в VBA и j – столбца, с которого начинается таблица в VBA, таккак после формирования значений осейX и Y переменные i и j приобрели конечные значения.

6. КВАДРАТИЧНЫЕ ФОРМЫ

Целью лабораторной работы «Квадратичные формы» является освоение матричных функций Excel и VBA.

Выполнение лабораторной работы предполагает знание элементов векторного анализа, в частности, матричных операций.

Лабораторная работа «Квадратичные формы» состоит из двух частей, в первую часть входят:

решение матричного уравнения в Excel;

решение матричного уравнения в Excel с предварительным преобразованием;

вычисление квадратичной формы в Excel;

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

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

а во вторую:

операции над массивами в Excel;операции над массивами в VBA.

25

Критерием правильности решений матричных уравнений являются результаты проверки подстановкой найденных значений корней в исходные уравнения.

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

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

значения матрицы А – А8:D11;значения вектора B – F8:F11;значения вектора Y – H8:H11 (рис. 6.1).

ЧАСТЬ ПЕРВАЯ

6.1. Решение матричного уравнения в Excel

Так как решением матричного уравнения АХ=В является вектор Х=А–1В, то необходимо сформировать обратную матрицу А–1, это выполняется в ячейкахA14:D17, для чего:

выделитьA14:D17,

черезмастерфункций fx вызватьматричнуюоперациюМОБР, в окне «массив» которой указать адрес исходной матрицы А

А8:D11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках A14:D17 появятся значения элементов обратной матрицы А–1 (рис. 6.2), а для любой ячейки диапазона A14:D17 встрокесостояний– подтверждениевыполненияматричной операции {=МОБР(A8:D11)}.

Так как результатом произведения исходной матрицы А на обратную матрицу А–1 является единичная матрица E, то для проверки правильности значений элементов полученной обратной матрицы необходимо:

выделить F14:I17;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне (рис. 6.3) «Массив1» которой указать адрес

Рис. 6.3

исходной матрицы А – А8:D11, а в окне «Массив2» – указать адрес обратной матрицы А–1 – А14:D17;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках F14:I17 появятся значения элементов единичной матрицы E (см. рис. 6.2), а для любой ячейки диапазона F14:I17 в строке состояний – подтверждение выполнения матрич-

ной операции {=МУМНОЖ(A8:D11;A14:D17)}.

Для получения вектора решений Х=А–1В необходимо:выделить J8:J11;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес обратной матрицы А–1 – F14:I17, а в окне «Массив2» – указать адрес вектора

свободных членов B – F8:F11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках J8:J11 появятся значения элементов вектора решений X (см. рис. 6.2), а для любой ячейки диапазона J8:J11

встроке состояний – подтверждение выполнения матричной опе-

рации {=МУМНОЖ(F14:I17; F8:F11)}.

Для проверки истинности значений элементов полученного вектора решений X необходимо подставить полученные значения

висходное уравнение АХ=В, для чего следует:

выделить K8:K11;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес исходной матрицы А – А8:D11, а в окне «Массив2» – указать адрес полученного вектора решений X – J8:J11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках K8:K11 появятся значения элементов вектора свободных членов B (см. рис. 6.2), совпадающие со значениями элементов исходного вектора B – F8:F11, а для любой ячейки диапазона K8:K11 в строке состояний – подтверждение выполнения матричной операции {=МУМНОЖ(A8:D11; J8:J11)}.

6.2.Решение матричного уравнения в Excel

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

Для решения второго матричного уравнения AATAX=B необходимо произвести предварительные преобразования, т. е. сформировать матрицу AATA.

Для чего следует:выделитьA20:D23;

через мастер функций fx вызвать матричную операцию ТРАНСП, в окне «массив» которой указать адрес исходной матри-

цы А – А8:D11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках A20:D23 появятся значения элементов транспонированной матрицы АТ (рис. 6.4), а для любой ячейки диапазонаA20:D23 в строке состояний – подтверждение выполнения матричной операции {=ТРАНСП(А8:D11)}.

Рис. 6.4

Далее сформировать матрицу AAT, для чего необходимо:выделить F20:I23;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне рис. 6.3 «Массив1» которой указать адрес исходной матрицы А – А8:D11, а в окне «Массив2» – указать адрес транспонированной матрицы АТ – A20:D23;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

ВрезультатевячейкахF20:I23 появятсязначенияэлементовматрицы AAT (см. рис. 6.4), а для любой ячейки диапазона F20:I23

встроке состояний – подтверждение выполнения матричной опе-

рации {=МУМНОЖ(A8:D11; A20:D23)}.

Далее в ячейках A26:D29 формируется матрица AATA, затем

вячейках F26:I29 – обратная матрица (AATA)–1 и по аналогии с решением первого матричного уравнения находится вектор решений X – K26:K29 и осуществляется проверка полученного решения вычислением вектора свободных членов B – L26:L29.

6.3. Вычисление квадратичной формы в Excel

Вычисление квадратичной формы z =YTATA3Y в Excel производится строго в последовательности, указанной в задании.

Первый шаг – вычисление элементов вектора YT:выделить F32:I32;

через мастер функций fx вызвать матричную операцию ТРАНСП, в окне «массив» которой указать адрес вектора Y

H8:H11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках F32:I32 появятся значения элементов транспонированного вектора YТ, т. е. строки (рис. 6.5), а для любой ячейки диапазона F32:I32 в строке состояний – подтверждение выполнения матричной операции {=ТРАНСП(H8:H11)}.

Второй шаг – вычисление элементов транспонированной матрицы AT:

уже выполнен раньше в ячейкахA20:D23, рис. 6.2.

Рис. 6.5

Третий шаг – вычисление элементов матрицы A2:выделитьA32:D35;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес исходной матрицы А – А8:D11, в окне «Массив2» – адрес исходной матрицы

А – А8:D11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках A32:D35 появятся значения элементов матрицы A2 (рис. 6.5), а для любой ячейки диапазона A32:D35

встроке состояний – подтверждение выполнения матричной опе-

рации {=МУМНОЖ(А8:D11; А8:D11)}.

Четвертый шаг – вычисление элементов матрицы A3:выделить F38:D41;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес матрицы A2 – А32:D35, а в окне «Массив2» – адрес исходной матрицы А

А8:D11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках A38:D41 появятся значения элементов матрицы A3 (см. рис. 6.5), а для любой ячейки диапазона A38:D41

встроке состояний – подтверждение выполнения матричной опе-

рации {=МУМНОЖ(А32:D35; А8:D11)}.

Пятый шаг – вычисление элементов вектора-строки YT AT:выделить F35:I35;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес векторастроки YT – F32:I32, а в окне «Массив2» – адрес транспонирован-

ной матрицы AT – А20:D23;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках F35:I35 появятся значения элементов вектора-строки YT AT (см. рис. 6.5), а для любой ячейки диапазона F35:I35 в строке состояний – подтверждение выполнения матрич-

ной операции {=МУМНОЖ(F32:I32; А20:D23)}.

Шестой шаг – вычисление элементов вектора-строки YT AT A3:выделить F38:I38;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес векторастроки YT AT – F35:I35, а в окне «Массив2» – адрес матрицы A3

А38:D41;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейках F38:I38 появятся значения элементов вектора-строки YT AT A3 (см. рис. 6.5), а для любой ячейки диапазона F38:I38 в строке состояний – подтверждение выполнения матричной операции {=МУМНОЖ(F35:I35; А38:D41)}.

Седьмой шаг – вычисление значения z = YT AT A3Y:выделить ОДНУ ячейку F41;

через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне «Массив1» которой указать адрес векторастроки YT AT A3– F38:I38, а в окне «Массив2» – адрес исходного

вектора-столбца Y – H8:H11;

затем одновременно нажать клавиши Ctrl-Shift-Enter.

Врезультате в ячейке F41 появится значение квадратичной формы z = YT AT A3Y (см. рис. 6.5), а для этой ячейки F41 в строке состояний – подтверждение выполнения матричной операции

{=МУМНОЖ(F38:I38; H8:H11)}.

Таким образом, значение квадратичной формы z = YT AT A3Y для заданного примера, последовательно вычисленное в Excel, равно

1220520.

6.4. Вычисление квадратичной формы с использованием матричных функций Excel

Для вычисления квадратичной формы z = YT AT A3Y с использованием матричных функций Excel необходимо в ячейке H41 записать следующее выражение:

{=МУМНОЖ(МУМНОЖ(ТРАНСП(H8:H11);ТРАНСП(A8:D11 ));МУМНОЖ(A38:D41;H8:H11))}.

Формирование указанного выражения осуществляется по частям, в соответствии с заданием z = YT AT A3Y, поэтапно же можно осуществлять и отладку, сравнивая промежуточные результаты

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

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

6.5. Вычисление квадратичной формы с использованием матричных функций VBA

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

Программа вычисления квадратичной формы в VВА

Function zz(a As Variant, y As Variant) As Variant z1 = Application.Transpose(y) ‘транспонирование y z2 = Application.Transpose(a)

z3 = Application.MMult(z1, z2)

z4 = Application.MMult(a, a)

z5 = Application.MMult(z4, a)

z6 = Application.MMult(z3, z5)

z7 = Application.MMult(z6, y) zz = z7

End Function

Некоторые комментарии к программе:

впрограммеиспользуютсяпромежуточныепеременныеz1 – z7;в программе можно ввести комментарии для каждой строки;процесс отладки модуля можно выполнять по частям, для чегосоответствующимобразомизменятьпоследнийоператорпри-

сваивания, например zz = z5.

После отладки программного модуля и внесения его в мастер функций fx следует, находясь в ячейке G41, обратиться через мастер функций fx в данном случае к функции с именем zz (рис. 6.6).

Так как функция zz(A, Y) от двух параметров, то в появившемся окне функции в окне «A» указать адрес объекта (параметра) А – A8:D11, а в окне «Y» указать адрес объекта (параметра) Y – H8:H11.

Рис. 6.6

Затем одновременно нажать клавиши Ctrl-Shift-Enter. В ячейке G41 появится ответ 1220520.

Таким образом, значение квадратичной формы z = YT AT A3Y для заданного примера, вычисленное в VBA, равно 1220520.

ЧАСТЬ ВТОРАЯ

6.6. Операции над массивами в Excel

Пусть в соответствии с заданием (рис. 6.12) необходимо по формуле вычислить S при заданных массивах X, Y и B (рис. 6.7).

Выполнение лабораторной работы начинается с внесения исходных данных задания в соответствующие ячейки таблицы Excel в выбранной адресации:

Excel

Рис. 6.7

значения вектора X – B46:E46;

значения вектора Y – B48:E48;

значения матрицы B – G47:H48 (см. рис. 6.7).

Затем в ячейке D52 через мастер функций fx по формуле =СУММ(G47:H48) вычисляется сумма элементов двумерного массива B (рис. 6.8).

Далее в ячейке D55 через мастер функций fx по формуле =СУММ(B46:E46) вычисляется сумма элементов одномерного массива X (рис. 6.9).

После этого в ячейке D58 через мастер функций fx по формуле =СУММКВ(B48:E48) вычисляется сумма квадратов элементов одномерного массива Y (рис. 6.10).

Затем в ячейке D62 через мастер функций fx по формуле =СУММ(B48:E48) вычисляется сумма элементов одномерного массива Y (рис. 6.11).

Рис. 6.8

Рис. 6.9

Рис. 6.10

Рис. 6.11

После этого в ячейке F58 записывается арифметическое выра-

жение =(2*D55+2*D58+5*D52^3)/(3+D62), соответствующее зада-

нию (рис. 6.12), и вычисляется величина S (см. рис. 6.7).

Рис. 6.12

В итоге получается, что величина S, вычисленная с помощью функций Excel, равна 549,625.

6.7. Операции над массивами в VBA

ДлявычислениявеличиныS вVBA необходимосоздатьпользовательскую функцию в виде модуля VBA.

Программа вычисления величины S в VВА

Function s(x As Variant, y As Variant, b As Variant) z1 = Application.WorksheetFunction.Sum(x)

z2 = Application.WorksheetFunction.SumSq(y)

Excel

Рис. 6.13

z3 = Application.WorksheetFunction.Sum(b)

z4 = Application.WorksheetFunction.Sum(y) s = (2 * z1 + 2 * z2 + 5 * z3 ^ 3) / (3 + z4) End Function

Некоторые комментарии к программе:

впрограммеиспользуютсяпромежуточныепеременныеz1 – z4;в программе можно ввести комментарии для каждой строки;процесс отладки модуля можно выполнять по частям, для чего соответствующим образом изменять последний оператор

присваивания, например s = z2.

После отладки программного модуля и внесения его в мастер функций fx следует, находясь в ячейке G58, обратиться через мастер функций fx к функции с именем s (см. рис. 6.7).

Так как функция s(X, Y, B) от трех параметров, то в появившемся окне функции (рис. 6.13) в окне «X» указать адрес объекта (параметра) X – B46:E46, в окне «Y» указать адрес объекта (параметра) Y – B48:E48, а в окне «B» указать адрес объекта (параметра)

B – G47:H48.

Затем следует одновременно нажать клавиши Ctrl-Shift-Enter. В ячейке G58 появится ответ 549,625.

Таким образом, значение величины S для заданного примера, вычисленное в VBA, равно 549,625.

7. ОПЕРАТОРЫ ЦИКЛА

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

Лабораторная работа «Операторы цикла» выполняется только в среде VBA.

При этом одна и та же разветвляющаяся функция G(x) из ранее выполненной лабораторной работы «Табулирование разветвляющейся функции» табулируется на листе Excel семь раз с использованием семи различных конструкций операторов цикла:

Do While … loop ;Do Loop … while ;Do Until … loop ;Do Loop … until ;While … wend ;For … next ;For Each … next .

Критерием правильности является совпадение полученных таблиц (рис. 7.1).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Содержание:

  • 1 Умножение и деление матрицы на число в Excel
    • 1.1 Способ 1
    • 1.2 Способ 2
  • 2 Сложение и вычитание матриц в Excel
    • 2.1 Способ 1
    • 2.2 Способ 2
  • 3 Умножение матриц в Excel
  • 4 Транспонирование матрицы в Excel
  • 5 Нахождение обратной матрицы в Excel
  • 6 Нахождение определителя матрицы в Excel
    • 6.1 Как найти определить матрицы в Excel
  • 7 Видеоурок

Решим Систему Линейных Алгебраических Уравнений (СЛАУ) методом обратной матрицы в MS EXCEL. В этой статье нет теории, объяснено только как выполнить расчеты, используя MS EXCEL.

Решим систему из 3-х линейных алгебраических уравнений с помощью обратной матрицы (матричным методом).

Запишем в ячейки основную матрицу системы и столбец свободных членов.

Систему n линейных алгебраических уравнений с n неизвестными можно решать матричным методом только тогда, когда определитель основной матрицы системы отличен от нуля (в противном случае мы имеем линейно зависимые уравнения и соответственно решение систем не единственное). В нашем случае определитель =12.

Для этого выделите ячейки A18:C20, а в Строке формул введите =МОБР(A11:C13) , затем нажмите CTRL+SHIFT+ENTER.

Решение системы уравнений получим умножением обратной матрицы и столбца свободных членов. Перемножить матрицы можно с помощью формулы массива =МУМНОЖ() .

Для этого выделите ячейки F18:F20, а в Строке формул введите =МУМНОЖ(A18:C20;F11:F13) , затем нажмите CTRL+SHIFT+ENTER.

В файле примера также приведено решение системы 4-х и 5-и уравнений.

КВАДРАТИЧНЫЕ ФОРМЫ

Целью лабораторной работы “ Квадратичные формы ” является освоение матричных функций Excel и VBA.

Выполнение лабораторной работы предполагает знание элементов векторного анализа, в частности, матричных операций.

Лабораторная работа “Квадратичные формы” состоит из двух частей, в первую часть входят:

– решение матричного уравнения в Excel;

– решение матричного уравнения в Excel с предварительным преобразованием;

– вычисление квадратичной формы в Excel;

– вычисление квадратичной формы с использованием матричных функций Excel;

– вычисление квадратичной формы с использованием матричных функций VBA,

– операции над массивами в Excel;

– операции над массивами в VBA.

Критерием правильности решений матричных уравнений являются результаты проверки подстановкой найденных значений корней в исходные уравнения.

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

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

– значения матрицы А – А8:D11;

– значения вектора B – F8:F11;

– значения вектора Y – H8:H11, рис. 6.1.

Часть первая

Решение матричного уравнения в Excel.

Так как решением матричного уравнения АХ=В является вектор Х=А -1 В, то необходимо сформировать обратную матрицу А -1 , это выполняется в ячейках A14:D17, для чего:

— через мастер функций fx вызвать матричную операцию МОБР, в окне “массив” которой указать адрес исходной матрицы А – А8:D11;

— затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках A14:D17 появятся значения элементов обратной матрицы А -1 , рис. 6.2., а для любой ячейки диапазона A14:D17 в строке состояний подтверждение выполнения матричной операции <=МОБР(A8:D11)>.

Так как результатом произведения исходной матрицы А на обратную матрицу А -1 является единичная матрица E, то для проверки правильности значений элементов полученной обратной матрицы необходимо:

— через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне рис. 6.3 “Массив1” которой указать адрес исходной матрицы А – А8:D11, а в окне “Массив2” которой указать адрес обратной матрицы А -1 – А14:D17;

— затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках F14:I17 появятся значения элементов единичной матрицы E, рис. 6.2., а для любой ячейки диапазона F14:I17 в строке состояний подтверждение выполнения матричной операции

Рис. 6.1.

Рис. 6.2.

Рис. 6.3.

Для получения вектора решений Х=А -1 В необходимо:

— через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне “Массив1” которой указать адрес обратной матрицы А -1 – F14:I17, а в окне “Массив2” которой указать адрес вектора свободных членов B – F8:F11;

— затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках J8:J11 появятся значения элементов вектора решений X , рис. 6.2., а для любой ячейки диапазона J8:J11 в строке состояний подтверждение выполнения матричной операции <=МУМНОЖ(F14:I17; F8:F11)>.

Для проверки истинности значений элементов полученного вектора решений X необходимо подставить полученные значения в исходное уравнение АХ=В, для чего следует:

— через мастер функций fx вызвать матричную операцию МУМНОЖ, в окне “Массив1” которой указать адрес исходной матрицы А – А8:D11, а в окне “Массив2” которой указать адрес полученного вектора решений X – J8:J11;

— затем одновременно нажать клавиши Ctrl-Shift-Enter.

В результате в ячейках K8:K11 появятся значения элементов вектора свободных членов B, рис. 6.2., совпадающие со значениями элементов исходного вектора B –F8:F11, а для любой ячейки диапазона K8:K11 в строке состояний подтверждение выполнения матричной операции <=МУМНОЖ(A8:D11; J8:J11)>.

Программа Microsoft Office Excel позволяет выполнять операции с матрицами с помощью встроенных функций и формул. Рассмотрим основные операции над матрицами:

  • умножение и деление матрицы на число;
  • сложение, вычитание и умножение матриц;
  • транспонирование матрицы;
  • нахождение обратной матрицы;
  • вычисление определителя.

Введем условные обозначения. Матрица А размерностью i x j — это прямоугольная таблица чисел, состоящая из i строк и j столбцов, аij — элемент матрицы.

Умножение и деление матрицы на число в Excel

Способ 1

Рассмотрим матрицу А размерностью 3х4. Умножим эту матрицу на число k. При умножении матрицы на число получается матрица такой же размерности, что и исходная, при этом каждый элемент матрицы А умножается на число k.

Введем элементы матрицы в диапазон В3:Е5, а число k — в ячейку Н4. В диапазоне К3:N5 вычислим матрицу В, полученную при умножении матрицы А на число k: В=А*k. Для этого введем формулу =B3*$H$4 в ячейку K3, где В3 — элемент а11 матрицы А.

Примечание: адрес ячейки H4 вводим как абсолютную ссылку, чтобы при копировании формулы ссылка не менялась.

С помощью маркера автозаполнения копируем формулу ячейки К3 вниз и вправо на весь диапазон матрицы В.

Таким образом, мы умножили матрицу А в Excel и получим матрицу В.

Для деления матрицы А на число k в ячейку K3 введем формулу =B3/$H$4 и скопируем её на весь диапазон матрицы В.

Способ 2

Этот способ отличается тем, что результат умножения/деления матрицы на число сам является массивом. В этом случае нельзя удалить элемент массива.

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

Для выполнения деления в данном примере в диапазон вводим формулу =B3:E5/H4, т.е. знак «*» меняем на «/».

Сложение и вычитание матриц в Excel

Способ 1

Следует отметить, что складывать и вычитать можно матрицы одинаковой размерности (одинаковое количество строк и столбцов у каждой из матриц). Причем каждый элемент результирующей матрицы С будет равен сумме соответствующих элементов матриц А и В, т.е. сij = аij + bij.

Рассмотрим матрицы А и В размерностью 3х4. Вычислим сумму этих матриц. Для этого в ячейку N3 введем формулу =B3+H3, где B3 и H3 – первые элементы матриц А и В соответственно. При этом формула содержит относительные ссылки (В3 и H3), чтобы при копировании формулы на весь диапазон матрицы С они могли измениться.

С помощью маркера автозаполнения скопируем формулу из ячейки N3 вниз и вправо на весь диапазон матрицы С.

Для вычитания матрицы В из матрицы А (С=А — В) в ячейку N3 введем формулу =B3 — H3 и скопируем её на весь диапазон матрицы С.

Способ 2

Этот способ отличается тем, что результат сложения/вычитания матриц сам является массивом. В этом случае нельзя удалить элемент массива.

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

Умножение матриц в Excel

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

Рассмотрим матрицы А размерностью 3х4 и В размерностью 4х2. При умножении этих матриц получится матрица С размерностью 3х2.

Вычислим произведение этих матриц С=А*В с помощью встроенной функции =МУМНОЖ(). Для этого выделим диапазон L3:M5 — в нём будут располагаться элементы матрицы С, полученной в результате умножения. На вкладке Формулы выберем Вставить функцию.

В диалоговом окне Вставка функции выберем Категория Математические — функция МУМНОЖОК.

В диалоговом окне Аргументы функции выберем диапазоны, содержащие матрицы А и В. Для этого напротив массива1 щёлкнем по красной стрелке.

Выделим диапазон, содержащий элементы матрицы А (имя диапазона появится в строке аргументов), и щелкнем по красной стрелке.

Для массива2 выполним те же действия. Щёлкнем по стрелке напротив массива2.

Выделим диапазон, содержащий элементы матрицы В, и щелкнем по красной стрелке.

В диалоговом окне рядом со строками ввода диапазонов матриц появятся элементы матриц, а внизу — элементы матрицы С. После ввода значений нажимаем на клавиатуре сочетание клавиш Shift+Ctrl и щелкаем левой кнопкой мыши по кнопке ОК.

ВАЖНО. Если просто нажать ОК, то программа вычислит значение только первой ячейки диапазона матрицы С.

Мы получим результат умножения матриц А и В.

Мы можем изменить значения ячеек матриц А и В, значения матрицы С поменяются автоматически.

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

Транспонирование матрицы — операция над матрицей, при которой столбцы заменяются строками с соответствующими номерами. Обозначим транспонированную матрицу А Т .

Пусть дана матрица А размерностью 3х4, с помощью функции =ТРАНСП() вычислим транспонированную матрицу А Т , причем размерность этой матрицы будет 4х3.

Выделим диапазон Н3:J6, в который будут введены значения транспонированной матрицы.

На вкладке Формулы выберем Вставить функцию, выберем категорию Ссылки и массивы — функция ТРАНСПОК.

В диалоговом окне Аргументы функции указываем диапазон массива В3:Е5, содержащего элементы матрицы А. Нажимаем на клавиатуре сочетание клавиш Shift+Ctrl и щелкаем левой кнопкой мыши по кнопке ОК.

ВАЖНО. Если просто нажать ОК, то программа вычислит значение только первой ячейки диапазона матрицы А Т .

Нажмите для увеличения

Мы получили транспонированную матрицу.

Нахождение обратной матрицы в Excel

Матрица А -1 называется обратной для матрицы А, если АžА -1 =А -1 žА=Е, где Е — единичная матрица. Следует отметить, что обратную матрицу можно найти только для квадратной матрицы (одинаковое количество строк и столбцов).

Пусть дана матрица А размерностью 3х3, найдем для неё обратную матрицу с помощью функции =МОБР().

Для этого выделим диапазон G3:I5, который будет содержать элементы обратной матрицы, на вкладке Формулы выберем Вставить функцию.

В диалоговом окне Вставка функции выберем категорию Математические — функция МОБРОК.

В диалоговом окне Аргументы функции указываем диапазон массива В3:D5, содержащего элементы матрицы А. Нажимаем на клавиатуре сочетание клавиш Shift+Ctrl и щелкаем левой кнопкой мыши по кнопке ОК.

ВАЖНО. Если просто нажать ОК, то программа вычислит значение только первой ячейки диапазона матрицы А -1 .

Нажмите для увеличения

Мы получили обратную матрицу.

Нахождение определителя матрицы в Excel

Определитель матрицы — это число, которое является важной характеристикой квадратной матрицы.

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

Пусть дана матрица А размерностью 3х3, вычислим для неё определитель с помощью функции =МОПРЕД().

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

В диалоговом окне Вставка функции выберем категорию Математические — функция МОПРЕДОК.

В диалоговом окне Аргументы функции указываем диапазон массива В3:D5, содержащего элементы матрицы А. Нажимаем ОК.

Нажмите для увеличения

Мы вычислили определитель матрицы А.

В заключение обратим внимание на важный момент. Он касается тех операций над матрицами, для которых мы использовали встроенные в программу функции, а в результате получали новую матрицу (умножение матриц, нахождение обратной и транспонированной матриц). В матрице, которая получилась в результате операции, нельзя удалить часть элементов. Т.е. если мы выделим, например, один элемент матрицы и нажмём Del, то программа выдаст предупреждение: Нельзя изменять часть массива.

Нажмите для увеличения

Мы можем удалить только все элементы этой матрицы.

Видеоурок

Кратко об авторе:

Шамарина Татьяна Николаевна — учитель физики, информатики и ИКТ, МКОУ «СОШ», с. Саволенка Юхновского района Калужской области. Автор и преподаватель дистанционных курсов по основам компьютерной грамотности, офисным программам. Автор статей, видеоуроков и разработок.

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

Есть мнение?
Оставьте комментарий

Понравился материал?
Хотите прочитать позже?
Сохраните на своей стене и
поделитесь с друзьями

Вы можете разместить на своём сайте анонс статьи со ссылкой на её полный текст

This is the second part of the how to solve quadratic equations in Excel guide. Here, we are going to be focusing on how to do this manual and VBA method, whereas the first part shows how to do this using the Goal Seek feature. In this guide, we are going to show you a different approach to solving quadratic equations in Excel using formulas and VBA.

If you missed the first part:

A quadratic function is a type of equation that contains a squared variable. It is called quadratic because quad means square in Latin. The quadratic functions usually have a structure like ax² + bx + c = 0, where x represents an unknown variable, and a, b, and c represent known constants. Excel can help you easily solve these types of equations for x.

Download Workbook

The Quadratic Formula

A quadratic function’s variable can take 2 values, meaning that there can be 2 solutions. To find these values, you can use the quadratic formula:

The plus/minus operator (±) means the formula should be executed twice. Once with plus (+):

And once with minus (-):

The a, b and c values are known numbers where a ≠ 0. Since we know the formula representation and the values, we can now create a formula for solving quadratic equations.

The Standard Formula

For this first approach, you essentially need to replicate the quadratic formula in Excel. You can enter the known values (a, b and c) right away into the formula. However, this means that the formula will be static and you will need to change the values one-by-one again when you need to solve for another equation.

Alternatively, you can pull the input values from cells to place the constants a, b and c and use those references inside the formula. Changing the cell value is usually a lot easier than changing all values one-by-one, especially with complex formulas.

Let’s assume that our constant values are in cells C7, D7 and E7. In this example, we also named these cells as a_1, b_1 and c_1 to make the formula easier to read. The formulas will be,

=(-b_1 + SQRT(POWER(b_1,2) — 4*a_1*c_1)) / (2*a_1)

=(-b_1 — SQRT(POWER(b_1,2) — 4*a_1*c_1)) / (2*a_1)

As you can see, one of the formulas uses plus and the other uses minus. This is how you can create a structure to solve the quadratic equations using traditional formulas. You can learn more about the POWER and SQRT functions in the respective pages.

solving quadratic equations

Solving Quadratic Equations using VBA

The standard formula method is effective and dynamic. However, it may be hard to remember or use. While Excel doesn’t have a function that allows solving quadratic equations with one click, you can create yourself one!

To start working with VBA, you need to enable the Visual Basic for Applications (VBA) window. When your workbook is open, press the Alt + F11 key combination. Once the VBA window is active, add a module. Modules are pages where you can write your VBA code.

Copy and paste the code below into the module you’ve just added:

Function SolveQuadraticEquation(a As Integer, b As Integer, c As Integer, result As Integer)
  If result = 1 Then
    SolveQuadraticEquation = (-b + Sqr(b * b — 4 * a * c)) / (2 * a)
  ElseIf result = 2 Then
    SolveQuadraticEquation = (-b — Sqr(b * b — 4 * a * c)) / (2 * a)
  Else
    SolveQuadraticEquation = «Invalid result value. It should be 1 or 2.»
  End If
End Function

This code creates a new function named SolveQuadraticEquation. This function has 4 arguments — 3 for known values, and 1 for selecting the plus/minus sign.

solving quadratic equations

After pasting the code, return to the Excel window and test your new function. First, enter the 3 known values, a, b and c. Set 1 or 2 to select between plus and minus respectively.

Понравилась статья? Поделить с друзьями:
  • Вычислить заработную плату при следующих условиях excel
  • Вычислить данные выражения при заданных числовых значениях аргументов excel
  • Вычислить выражение vba excel
  • Вычислить возраст по формуле в excel
  • Вычислить величину y при заданном значении x excel