Анимация
JavaScript
|
Главная Библионтека
Рассмотрим пример, в котором используется функция Str$. price=199 К1="Учебное пособие noVBA стоит" К2="рублей" New String=Rl+price+R2 В результате операции конкатенации будет получено предложение: "Учебное пособие noVBA стоит 199 рублей" Если применить к данному предложению функцию Len, то будет возвращена длина этой строки, равная 37 (символам). 8.1. Стандартные функции для работы с массивами Используются следующие функции рабочего листа для работы с массивами:
8. Стандартные функции языка 55 Приведем пример функции пользователя VBA, вычисляющей коэффициент корреляции ([2]). Function R(x As Variant, у As Variant) As Double Dim n As Integer Dim sx; sy; sxy; sx2: sy2 As Double n = Application.Count(x) sx = Application.Sum(x) sy = Application.Sum(y) sxy = Application.SumProduct(x, y) sx2 = Application.SumSq(x) sy2 = Application.SumSq(y) R = (n * sxy - sx * sy) / ( (n * sx2 - sx 2) * (n * sy2 - sy - 2)) (1/2) End Function Отметим, что коэффициент корреляции можно вычислить и непосредственно функцией КОРРЕЛ. Коэффициент корреляции двух последовательностей Х/ и >„ /е [1, п], вычисляется по формуле п п п Пусть, например, необходимо вычислить коэффициент корреляции двух последовательностей: 1, 2, 3, 4, 5, 6 и 5, 8, И, 12, 18, 21, записанных в диапазоны ячеек АЗ:А8 и ВЗ:В8 соответственно. Результат необходимо поместить в ячейку С1. Для этого достаточно в ячейку С1 ввести формулу =R(A3: А8;ВЗ:В8) . Тот же результат можно получить, если ввести в ячейку С1 следующую формулу: =(СЧЕТ(A3:А8)*СУММПР0ИЗВ(A3:А8;33:38)--СУММ(АЗ:А8)*СУММ(ВЗ:38))/ /((СЧЕТ (АЗ:А8)СУММКЗ(A3:А8)-СУММ(A3:А8)2)* (СЧЕТ(АЗ:А8)*СУММКЗ(33:38)-СУММ(33:В8)"2) ) "(1/2) 8.2. Стандартные функции для работы с матрицами Используются следующие функции рабочего листа для работы с матрицами:
При этом в ячейках рабочего листа приложения Ms Excel и в коде программы VBA можно использовать как русский, так и английский вариант названия функции. Приведем пример функции пользователя VBA, решающей систему линейных уравнений АХ = В, где А - матрица коэффициентов, В - столбец свободных членов, X - столбец неизвестных. Решение системы может быть найдено как Х=А"В, где А" - обратная матрица. Тогда функция пользователя имеет вид ([2]): Function Solution(А As Variant, В As Variant) As Variant Solution=Application.MMult(Application.Minverse(A), B) End Function Рассмотрим пример функции пользователя VBA, вычисляющей квадратичную форму z = Х"АХ, где А - матрица коэффициентов, X - столбец неизвестных. Function Square Form(А As Variant, Z As Variant) As Variant Square Form = Application.Mmult (Application.MMult(Application Transpose(Z), A), Z) End Function Отметим, что функция Solution возращает вектор X, а функция Square Form - число. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [ 17 ] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |