IBM Lotus Symphony


Матричные функции

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

Что такое матрица?

Матрица - это диапазон связанных между собой ячеек, в которых указаны значения. Квадратный диапазон ячеек, состоящий из трех строк и трех столбцов, представляет собой матрицу 3 х 3:

Таблица 1. Матрица 3 x 3
  A B C
1 7 31 33
2 95 17 2
3 5 10 50

Минимальный размер матрицы составляет 1 x 2 или 2 x 1, т.е. две соседние ячейки.

Что такое матричная формула?

Матричной формулой называется формула, в которой оцениваются отдельные значения из диапазона ячеек. Разница между матричной формулой и другими формулами заключается в том, что матричная формула позволяет одновременно обрабатывать несколько значений.

Кроме того, матричная формула может возвращать несколько значений, также объединенных в матрицу. Результат матричной формулы также является матрицей.

Например, для того чтобы умножить значения отдельных ячеек матрицы на 10, не требуется применять формулу к каждой из них. Вместо этого можно воспользоваться одной матричной формулой. Выберите в пустой части электронной таблицы диапазон ячеек размером 3 x 3, укажите для него формулу =10*A1:C3 и подтвердите ввод с помощью сочетания клавиш Ctrl+Shift+Enter. В результате вы получите матрицу 3 x 3, состоящую из значений отдельных ячеек диапазона (A1:C3), умноженных на 10.

Кроме умножения над исходным диапазоном (матрицей) можно выполнять другие операции. В Lotus® Symphony™ Spreadsheets поддерживаются такие операции, как сложение(+), вычитание (-), умножение (*), деление (/), возведение в степень (^), объединение (&), а также операторы сравнения (=, <>, <, >, <=, >=). Операторы применяются над отдельными значениями ячеек и в качестве результата возвращают матрицу значений, если была указана матричная формула.

Операторы сравнения в матричной формуле интерпретируют пустые ячейки таким же образом, как в обычных формулах, то есть как ноль или как пустую строку. Например, если ячейки A1 и A2 пусты, то матричные формулы {=A1:A2=""} и {=A1:A2=0} вернут 1 столбец 2 строки матрицы ячеек, содержащий значение TRUE.

Когда следует применять матричные формулы?

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

Кроме того, матричные формулы позволяют более эффективно использовать память в случае вычисления нескольких значений. Матрицы представляют собой важный инструмент для проведения сложных вычислений, так как они позволяют обрабатывать несколько диапазонов ячеек. В Lotus Symphony предусмотрены различные математические функции для работы с матрицами, такие как функция MMULT, позволяющая умножить две матрицы, или функция SUMPRODUCT, позволяющая вычислить скалярное произведение двух матриц.

Применение формул массива в Lotus Symphony Spreadsheets

При необходимости вы можете создать "обычную формулу", в которой аргументы могут быть связаны с матричной формулой. Результат возвращается из пересечения области значений и строк или столбцов, в которых указана формула. Если пересечение отсутствует или охватывает несколько строк или столбцов, возвращается значение #VALUE!. Дополнительное объяснение этого принципа приведено в следующем примере:

Создание формул массивов

В случае создания матричной формулы с помощью окна диалога Мастера функций должно быть выбрано поле Матрица, позволяющее возвращать результаты в виде матрицы. В противном случае, возвращается только значение ячейки, расположенной в левом верхнем углу матрицы.

Ввести формулу непосредственно в ячейку можно с помощью сочетания клавиш Ctrl+Enter вместо нажатия клавиши Enter. Только в этом случае создается матричная формула.

Значок
Примечание В Lotus Symphony Spreadsheets матричные формулы заключаются в фигурные скобки. Матричную формулу нельзя создать, заключив ее в фигурные скобки вручную.

Ячейки, расположенные в матрице результатов, автоматически защищаются от изменений. При необходимости вы можете изменить или скопировать матричную формулу, выделив весь диапазон ячеек.

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

Lotus Symphony Spreadsheets поддерживает встроенные константы матриц в формулах. Встроенная матрица заключена в фигурные скобки '{' и '}'. Элементами могут быть числа (включая отрицательные), логические константы (TRUE, FALSE) и строки литералов. Переменные выражения не разрешены. Можно ввести матрицы с одним или несколькими столбцами и строками. Все строки должны состоять из одинакового числа элементов, все столбцы должны состоять из одинакового числа элементов.

Разделителем столбца (отделяющим элементы одной строки) является точка с запятой ';'. Разделителем строки является символ конвейеризации '|'. Разделители не зависят от языка и локали.

Матрицы не могут быть вложенными.

Примеры:

={1;2;3}

Матрица с одной строкой, содержащая три числа 1, 2 и 3.

Для того чтобы ввести эту матричную константу, выберите три ячейки в строке, а затем введите формулу ={1;2;3}, используя фигурные скобки и точки с запятой, после чего нажмите Ctrl+Shift+Enter.

={1;2;3|4;5;6}

Матрица с двумя строками и тремя значениями в каждой строке.

={0;1;2|FALSE;TRUE;"two"}

Матрица смешанных данных.

=SIN({1;2;3})

Введенная как матричная формула, возвращает результат трех вычислений SIN от аргументов 1, 2 и 3.

Изменение матричных формул

  1. Выделите диапазон ячеек или матрицу, в которой указана матричная формула. Для того чтобы выбрать матрицу целиком, расположите курсор в одной из ее ячеек, и нажмите Ctrl+/, где / - это клавиша деления на дополнительной цифровой клавиатуре.

  2. Нажмите F2 или расположите курсор в строке ввода. Оба этих действия позволяют изменить формулу.

  3. Изменив формулу, нажмите Ctrl+Shift+Enter.

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

Копирование матричных формул

  1. Выделите диапазон ячеек или матрицу, в которой указана матричная формула.

  2. Нажмите F2 или расположите курсов в строке ввода.

  3. Скопируйте формулу с помощью сочетания клавиш Ctrl+C.

  4. Выделите диапазон ячеек для вставки матричной формулы и нажмите F2 или расположите курсор в строке ввода.

  5. Вставьте формулу с помощью сочетания клавиш Ctrl+V в подтвердите ввод с помощью сочетания клавиш Ctrl+Shift+Enter. Выбранный диапазон ячеек содержит матричную формулу.

Изменение диапазона ячеек

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

  1. Выделите диапазон ячеек или матрицу, в которой указана матричная формула.

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

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

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

Условные вычисления матрицы

Условное вычисление матрицы - это матричная формула, которая включает в себя функцию IF() или CHOOSE(). Условный аргумент в формуле - это ссылка на область или матричный результат.

В следующем примере, проверка условия >0 {=IF(A1:A3>0;"yes";"no")} применяется к каждой ячейке в диапазоне A1:A3, и результат копируется в соответствующую ячейку.

Таблица 2. Пример условного вычисления матрицы
  A B (формула) B (результат)
1 1 {=IF(A1:A3>0;"yes";"no")} yes
2 0 {=IF(A1:A3>0;"yes";"no")} no
3 1 {=IF(A1:A3>0;"yes";"no")} yes

Следующие функции обеспечивают принудительную обработку матриц: CORREL, COVAR, FORECAST, FTEST, INTERCEPT, MDETERM, MINVERSE, MMULT, MODE, PEARSON, PROB, RSQ, SLOPE, STEYX, SUMPRODUCT, SUMX2MY2, SUMX2PY2, SUMXMY2, TTEST. Если при вызове одной из этих функций в качестве аргументов используется ссылка на область, то функция ведет себя как матричная. В следующей таблице приведен пример принудительной матричной обработки:

Таблица 3. Пример принудительной матричной обработки
  A B (формула) B (результат) C (принудительная матричная формула) C (результат)
1 1 =A1:A2+1 2 =SUMPRODUCT(A1:A2+1) 5
2 2 =A1:A2+1 3 =SUMPRODUCT(A1:A2+1) 5
3   =A1:A2+1 #VALUE! =SUMPRODUCT(A1:A2+1) 5

MUNIT

Возвращает единичный квадратный массив заданного размера. Единичный массив - это массив, диагональные элементы которого равны 1, а все остальные - 0.

Синтаксис

MUNIT(Размер)

Размер: задает размер матрицы.

Значок
Примечание Можно найти общее введение в матричные функции наверху этой страницы.

Пример

Выберите в электронной таблице квадратный диапазон ячеек, например от A1 до E5.

Выберите функцию MUNIT. Включите переключатель Матрица. Укажите размер матрицы (в данном случае 5) и нажмите кнопку OK.

Кроме того, вы можете указать в последней ячейке диапазона (E5) формулу =Munit(5) и нажать Shift+Ctrl+Enter.

Создается единичный массив, занимающий диапазон ячеек A1:E5.

Дополнительные объяснения находятся на верху этой страницы.

FREQUENCY

Возвращает распределение значений матрицы, состоящей из одного столбца, по категориям. Функция подсчитывает число значений в матрице Данные, которые находятся среди значений, заданных матрицей Классы.

Синтаксис

FREQUENCY(Данные; Классы)

Данные: ссылка на подсчитываемые значения.

Классы: задает матрицу значений ограничений.

Значок
Примечание Можно найти общее введение в матричные функции наверху этой страницы.

Пример

В следующей таблице столбец А содержит неупорядоченный список значений, полученных экспериментальным путем. Столбец В задает верхние ограничения классов, на которые требуется разделить данные из столбца А. В соответствии со значением, указанным в ячейке В1, функция FREQUENCY возвращает число значений, которые меньше или равны 5. Так как в ячейке В2 указано ограничение 10, функция FREQUENCY возвращает число значений, которые больше 5 и меньше или равны 10. Значение, ">25" указанное в ячейке B6 предназначено только для вспомогательных целей.

Таблица 4. Пример функции FREQUENCY
  A B C
1 12 5 1
2 8 10 3
3 24 15 2
4 11 20 3
5 5 25 1
6 20 >25 1
7 16    
8 9    
9 7    
10 16    
11 33    

Выберите отдельный столбец для занесения частоты в соответствии с ограничениями классов. Следует выделить на одно поле больше, чем число классов. В данном примере выделите диапазон C1:C6. Вызовите функцию FREQUENCY с помощью Мастера функций. Выберите диапазон Данные в (A1:A11), а затем диапазон Классы, в котором указаны ограничения классов (B1:B6). Включите переключатель Матрица и нажмите кнопку OK. В диапазоне ячеек C1:C6 будет показан подсчет частоты.

Дополнительные объяснения находятся на верху этой страницы.

MDETERM

Возвращает определитель матрицы. Значение отображается в текущей ячейке. Определять диапазон ячеек для результатов не требуется.

Синтаксис

MDETERM(Матрица)

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

Значок
Примечание Можно найти общее введение в матричные функции наверху этой страницы.

Дополнительные объяснения находятся на верху этой страницы.

MINVERSE

Возвращает обратную матрицу.

Синтаксис

MINVERSE(Матрица)

Матрица: задает квадратную матрицу, для которой требуется определить обратную матрицу.

Дополнительные объяснения находятся на верху этой страницы.

Пример

Выделите квадратный диапазон ячеек и выберите MINVERSE. Выберите массив вывода, отметьте поле Массив и нажмите OK.

MMULT

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

Синтаксис

MMULT(Матрица1; Матрица2)

Матрица1: задает первую матрицу для вычисления произведения.

Матрица2: задает вторую матрицу, число строк в которой должно быть равно числу столбцов в первой матрице.

Значок
Примечание Дополнительные объяснения находятся на верху этой страницы.

Пример

Выделите квадратный диапазон ячеек. Выберите функцию MMULT. Выберите первый Массив, затем выберите второй Массив. С помощью команды Мастер функций установите флажок в поле Матрица. Нажмите кнопку ОК. Матрица результатов заменит первый выделенный диапазон.

TRANSPOSE

Транспонирует матрицу (меняет строки и столбцы местами).

Синтаксис

TRANSPOSE(Матрица)

Матрица: задает матрицу ячеек электронной таблицы, которую требуется транспонировать.

Дополнительные объяснения находятся на верху этой страницы.

Пример

Выделите диапазон ячеек для отображения результатов. Если исходная матрица состоит из n строк и m столбцов, то следует выделить по крайней мере m строк и n столбцов. Введите формулу, выделите исходную матрицу и нажмите Shift+Ctrl+Enter. Если вы работаете с окном диалога Мастер функций установите флажок в поле Матрица. В целевом диапазоне ячеек отображается транспонированная матрица, автоматически защищенная от изменений.

LINEST

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

Синтаксис

LINEST(Данные_Y; Данные_X; Линейный_тип; Статистика)

Данные_Y: диапазон одиночной строки или столбца, указывающий координаты Y в наборе точек данных.

Данные_X: соответствующий одиночный столбец или строка, указывающий координаты X в наборе точек данных. Если Данные_X пропущены, то по умолчанию используются значения 1, 2, 3, ..., n. Если существует более одного набора переменных, Данные_X могут быть диапазоном, соответствующим нескольким строкам или столбцам.

LINEST находит прямую линию y = a + bx, которая лучше всего удовлетворяет данным, используя линейную регрессию (метод наименьших квадратов). При наличии нескольких наборов переменных прямая линия имеет вид y = a + b1x1 + b2x2 ... + bnxn.

Если Линейный_тип равен FALSE, то ищется прямая, проходящая через начало координат (константа a равна нулю; y = bx). Если аргумент Линейный_тип пропущен, то по умолчанию используется значение TRUE (линия не обязательно проходит через начало координат).

Если аргумент Статистика пропущен или равен FALSE, то возвращается только верхняя строка таблицы статистических данных. При значении TRUE возвращается вся таблица.

Функция LINEST возвращает таблицу (матрицу) статистических данных, и она должна быть введена как матричная формула (например, с помощью клавиш Ctrl+Shift+Return, а не только Return).

В функциях Lotus® Symphony™ Spreadsheets можно пропускать параметры, помеченные как необязательные, только когда за ними не следуют другие параметры. Например, в функции с четырьмя параметрами, где последние два параметра помечены как необязательные, можно пропустить параметр 4 или параметры 3 и 4, но нельзя пропустить только параметр 3.

Дополнительные объяснения находятся на верху этой страницы.

Пример

Данная функция возвращает матрицу и аналогична другим матричным функциям. Выберите диапазон для отображения результатов, затем выберите функцию. Укажите аргумент Данные_Y и при необходимости другие аргументы. Выберите Матрица и нажмите кнопку OK.

Результаты будут содержать по крайней мере наклон линии регрессии и координату ее пересечения с осью Y (если аргумент Статистика=0). Если значение аргумента Статистика не равно нулю, отображается дополнительная информация.

Другие результаты LINEST:

Рассмотрите следующие примеры:

Таблица 5. Примеры функции LINEST
  A B C D E F G
1 x1 x2 y   LIN EST значение    
2 4 7 100   4,17 3,48 82,33
3 5 9 105   5,46 10,96 9,35
4 6 11 104   0,87 5,06 #NA
5 7 12 108   13,21 4 #NA
6 8 15 111   675,45 102,26 #NA
7 9 17 120        
8 10 19 133        

В столбце A содержатся значения X1, в столбце B - значения X2, в столбце С - значения Y. Данные значения уже введены в электронную таблицу. Выделите диапазон ячеек E2:G6 и откройте окно диалога Мастер функций. Для применения функции LINEST установите параметр Матрица в окне диалога Мастер функций. Затем выделите в электронной таблице следующие значения (или введите их с помощью клавиатуры):

Аргумент Данные_Y равен C2:C8

Аргумент Данные_X равен A2:B8

Аргументы Линейный_тип и Статистика равны 1.

После нажатия кнопки OK модуль Lotus Symphony Spreadsheets возвращает соответствующие результаты функции LINEST, как показано в примере.

Формула, указанная в панели Формула, применяется ко всем ячейкам матрицы {=LINEST(C2:C8;A2:B8;1;1)}

Ниже перечислены значения, полученные с помощью функции LINEST:

E2 и F2: Наклон m линии регрессии y=b+m*x для значений x1 и x2. Значения приведены в обратном порядке, т.е. в ячейке Е2 указан наклон для x2, в ячейке F2 - наклон для x1.

G2: Координата (b) пересечение линии с осью Y.

E3 и F3: Стандартная ошибка для значения наклона.

G3: Стандартная ошибка для координаты пересечения с осью Y.

E4: RSQ

F4: Стандартная ошибка регрессии, вычисленной для значения Y.

E5: Значение F, полученное в результате дисперсионного анализа.

F5: Число степеней свободы, полученное в результате дисперсионного анализа.

E6: Сумма квадратов отклонений оценочных значений Y от линейного среднего значения.

F6: Сумма квадратов отклонений оценочного значения Y от заданных значений Y.

Дополнительные объяснения находятся на верху этой страницы.

LOGEST

Позволяет представить указанные данные в виде экспоненциально убывающей кривой (y=b*m^x).

Синтаксис

LOGEST(Данные_Y; Данные_X; Тип_функции; Статистика)

Данные_Y: задает матрицу данных по оси Y.

Данные_X (необязательный аргумент): задает матрицу данных по оси X.

Тип_функции (необязательный аргумент). Если Тип_функции = 0, то функции вычисляются в виде y = m^x. В противном случае, вычисляются функции y = b*m^x.

Статистика (необязательный параметр). Если Статистика=0, вычисляется только коэффициент регрессии.

В функциях Lotus® Symphony™ Spreadsheets можно пропускать параметры, помеченные как необязательные, только когда за ними не следуют другие параметры. Например, в функции с четырьмя параметрами, где последние два параметра помечены как необязательные, можно пропустить параметр 4 или параметры 3 и 4, но нельзя пропустить только параметр 3.

Дополнительные объяснения находятся на верху этой страницы.

Пример

См. LINEST. Однако, в этом случае не возвращаются суммы квадратов.

SUMPRODUCT

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

Синтаксис

SUMPRODUCT(Матрица 1; Матрица 2... Матрица 30)

Матрица 1; Матрица 2... Матрица 30 представляют матрицы, соответствующие элементы которых перемножаются.

По крайней мере одна матрица должна входить в список аргументов. Если задана только одна матрица, то суммируются все элементы матрицы.

Пример

Таблица 6. Пример SUMPRODUCT
  A B C D
1 2 3 4 5
2 6 7 8 9
3 10 11 12 13

=SUMPRODUCT(A1:B3;C1:D3) возвращает 397.

Вычисление: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3

Можно использовать SUMPRODUCT для вычисления скалярного произведения двух векторов.

Значок
Примечание SUMPRODUCT возвращает одинарное число, поэтому не обязательно вводить функцию как матричную.

Дополнительные объяснения находятся на верху этой страницы.

SUMX2MY2

Возвращает разность сумм квадратов элементов двух матриц.

Синтаксис

SUMX2MY2(Матрица X; Матрица Y)

Матрица X: задает первую матрицу, сумму квадратов элементов которой требуется вычислить.

Матрица Y: задает вторую матрицу, сумму квадратов элементов которой требуется вычислить и отнять от первой суммы.

Дополнительные объяснения находятся на верху этой страницы.

SUMX2PY2

Возвращает сумму сумм квадратов соответствующих элементов двух матриц.

Синтаксис

SUMX2PY2(Матрица X; Матрица Y)

Матрица X: задает первую матрицу, сумму квадратов элементов которой требуется вычислить.

Матрица Y: задает вторую матрицу, сумму квадратов элементов которой требуется вычислить и сложить с первой суммой.

Дополнительные объяснения находятся на верху этой страницы.

SUMXMY2

Возвращает сумму квадратов разностей соответствующих элементов двух матриц.

Синтаксис

SUMXMY2(Матрица X; Матрица Y)

Матрица X: задает первую матрицу, из элементов которой требуется вычесть соответствующие элементы второй матрицы и возвести полученные значения в квадрат.

Матрица Y: задает вторую матрицу, элементы которой требуется вычесть из соответствующих элементов первой матрицы и возвести результаты в квадрат.

Дополнительные объяснения находятся на верху этой страницы.

TREND

Возвращает значения вдоль линейного тренда.

Синтаксис

TREND(Данные_Y; Данные_X; Новые_данные_X; Линейный_тип)

Данные_Y: задает матрицу данных по оси Y.

Данные_X (необязательный аргумент): задает матрицу данных по оси X.

Новые_данные_X (необязательный аргумент): задает матрицу данных X, применяемую для повторного вычисления значений.

Линейный_тип (необязательный аргумент). Если Линейный_тип = 0, то линия будет вычисляться через начало координат. В противном случае рассчитываются линии смещения. По умолчанию Линейный_тип <> 0.

В функциях Lotus® Symphony™ Spreadsheets можно пропускать параметры, помеченные как необязательные, только когда за ними не следуют другие параметры. Например, в функции с четырьмя параметрами, где последние два параметра помечены как необязательные, можно пропустить параметр 4 или параметры 3 и 4, но нельзя пропустить только параметр 3.

Дополнительные объяснения находятся на верху этой страницы.

Пример

Выделите диапазон ячеек для отображения данных тренда. Выберите функцию. Укажите выходные данные или выделите их с помощью мыши. Включите переключатель Матрица. Нажмите кнопку OK. Отображаются данные тренда, вычисленные с помощью выходных данных.

GROWTH

Позволяет вычислить точки экспоненциального тренда для матрицы значений.

Синтаксис

GROWTH(Данные_Y; Данные_X; Новые_данные_X; Тип_функции)

Данные_Y: задает матрицу данных по оси Y.

Данные_X (необязательный аргумент): задает матрицу данных по оси X.

Новые_данные_X (необязательный аргумент): задает матрицу данных X, применяемую для повторного вычисления значений.

Тип_функции (необязательный аргумент). Если Тип_функции = 0, то функции вычисляются в виде y = m^x. В противном случае, вычисляются функции y = b*m^x.

В функциях Lotus® Symphony™ Spreadsheets можно пропускать параметры, помеченные как необязательные, только когда за ними не следуют другие параметры. Например, в функции с четырьмя параметрами, где последние два параметра помечены как необязательные, можно пропустить параметр 4 или параметры 3 и 4, но нельзя пропустить только параметр 3.

Дополнительные объяснения находятся на верху этой страницы.

Пример

Данная функция возвращает матрицу и аналогична другим матричным функциям. Выделите диапазон ячеек для отображения результатов и выберите функцию. Выберите Данные_Y. Введите другие аргументы, затем включите переключатель Массив и нажмите кнопку OK.


Комментарии по продукту | Дополнительная документация | Товарные знаки