Вычисление квадратичной формы с использованием матричных функций Excel.
Для вычисления квадратичной формы z = YT AT A 3 Y с использованием матричных функций Excel необходимо в ячейке H41 записать следующее выражение:
{=МУМНОЖ(МУМНОЖ(ТРАНСП(H8:H11);ТРАНСП(A8:D11));МУМНОЖ(A38:D41;H8:H11))}.
Формирование указанного выражения осуществляется по частям, в соответствии с заданием z = YT AT A 3 Y, поэтапно же можно осуществлять и отладку, сравнивая промежуточные результаты с промежуточными результатами пошагового вычисления квадратичной формы в Excel.
В результате в ячейке F41 появится значение квадратичной формы равное 1220520.
Вычисление квадратичной формы с использованием матричных функций 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
Некоторые комментарии к программе:
– В программе используются промежуточные переменные z 1 - z 7;
– В программе можно ввести комментарии для каждой строки;
– Процесс отладки модуля можно выполнять по частям, для чего соответствующим образом изменять последний оператор присваивания, например zz = z5.
После отладки программного модуля и внесения его в мастер функций fx, следует, находясь в ячейке G41, обратить через мастер функций fx в данном случае к функции с именем zz, рис. 6.6.
|
|
Так функция zz( A , Y ) от двух параметров, то в появившемся окне функции в окне “A” указать адрес объекта (параметра) А – A8:D11, а в окне “Y” указать адрес объекта (параметра) Y – H8:H11.
Затем одновременно нажать клавиши Ctrl-Shift-Enter.
В ячейке G41 появится ответ 1220520.
Таким образом, значение квадратичной формы z = YT AT A 3 Y для заданного примера, вычисленное в VBA , равно 1220520.
Рис. 6.6.
Часть вторая
Операции над массивами в Excel
Пусть в соответствии с заданием, рис. 6.12, необходимо по формуле вычислить S при заданных массивах X , Y и B, рис. 6.7.
Выполнение лабораторной работы начинается с внесения исходных данных задания в соответствующие ячейки таблицы Excel , в выбранной адресации:
– значения вектора X – B46:E46;
– значения вектора Y – B48:E48;
– значения матрицы B – G47:H48, рис. 6.7.
Рис. 6.7.
Затем в ячейке D52 через мастер функций fx по формуле =СУММ(G47:H48) вычисляется сумма элементов двумерного массива B, рис. 6.8.
Рис. 6.8.
Затем в ячейке D55 через мастер функций fx по формуле =СУММ(B46:E46) вычисляется сумма элементов одномерного массива X, рис. 6.9.
Рис. 6.9.
Затем в ячейке D58 через мастер функций fx по формуле =СУММКВ(B48:E48)вычисляется сумма квадратов элементов одномерного массива Y, рис. 6.9.
|
|
Рис. 6.10.
Затем в ячейке D62 через мастер функций fx по формуле =СУММ(B48:E48)вычисляется сумма элементов одномерного массива Y, рис. 6.11.
Рис. 6.11.
После этого в ячейке F58 записывается арифметическое выражение =(2*D55+2*D58+5*D52^3)/(3+D62), соответствующее заданию, рис. 6.12, и вычисляется величина S , рис. 6.7.
Рис. 6.12.
В итоге получается, что величина S, вычисленная с помощью функций Excel равна 549,625.
Операции над массивами в VBA
Для вычислениявеличины S в VBA необходимо создатьпользовательскую функциюв виде модуля VBA .
Программа вычисления величины S в V ВА
Дата добавления: 2019-03-09; просмотров: 912; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!