Вычисление квадратичной формы с использованием матричных функций 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!