Анимация
JavaScript


Главная  Библионтека 

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

Функция

Описание

Пример

Mid$

Возвращает часть строки, заданной первым аргументом. Имеет синтаксис: М1ё$(строка, начало, длина), где строка - символьная строка, начало - первая позиция в выделяемой подстроке, длина -длина результирующей подстроки

М1ё$(«Победа», 4, 3) возвращает подстроку «брак»

Рассмотрим пример, в котором используется функция Str$.

price=199

К1="Учебное пособие noVBA стоит" К2="рублей"

New String=Rl+price+R2

В результате операции конкатенации будет получено предложение:

"Учебное пособие noVBA стоит 199 рублей"

Если применить к данному предложению функцию Len, то будет возвращена длина этой строки, равная 37 (символам).

8.1. Стандартные функции для работы с массивами

Используются следующие функции рабочего листа для работы с массивами:

Count

Количество чисел в массиве (в русскоязычной версии Excel имеется аналогичная функция СЧЕТ)

CountA

Количество элементов массива (СЧЕТЗ)

Сумма элементов массива (СУММ)

SumSq

Сумма квадратов элементов массива (СУММКВ)

SumXmY2

Сумма квадратов разностей элементов двух массивов (СУММКВРАЗН)

SumX2mY2

Сумма разностей квадратов элементов двух массивов (СУММРАЗНКВ)



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. Стандартные функции для работы с матрицами

Используются следующие функции рабочего листа для работы с матрицами:

Название

Описание

русское

английское

Мумнож

Mmult

Произведение двух матриц

Мобр

Minverse

Обратная матрица

Трансп

Transpose

Транспонированная матрица

Мопред

Mdeterm

Определитель матрицы

При этом в ячейках рабочего листа приложения 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