Вычислить скалярное произведение векторов в excel


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

Скалярным произведением двух векторов

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


СОВЕТ

: о нахождении длин векторов см. статью

Вычисление длины (модуля) вектора в MS EXCEL

.


В случае двухмерной задачи скалярное произведение векторов

a

= {

a

x

;

a

y

} и

b

= {

b

x

;

b

y

} можно найти воспользовавшись следующей формулой:

a

·

b

=

a

x

·

b

x

+

a

y

·

b

y

Для вычисления скалярного произведения векторов в MS EXCEL идеально подходит функция

СУММПРОИЗВ()


СОВЕТ

: о функции

СУММПРОИЗВ()

см. статью

Функция СУММПРОИЗВ() — Сложение и подсчет с множественными условиями в MS EXCEL


Если координаты 2-х векторов введены в диапазоны

B8:C8

и

B9:C9

соответственно, то формула

=СУММПРОИЗВ(B8:C8;B9:C9)

подсчитает скалярное произведение векторов (см.

файл примера

).

Естественно, для трехмерного случая можно записать аналогичную формулу.

Ортогональность векторов

Два вектора называются ортогональными если угол между ними равен 90 градусов. Т.к. косинус угла 90 градусов равен 0, то и их скалярное произведение равно 0.

Интерес представляет поиск вектора, ортогонального заданному.


Поиск одной координаты.

Сначала подберем одну из координат трехмерного вектора, так, чтобы он стал ортогональным заданному (2 другие координаты известны). Такая координата всегда существует и решение единственно.

Для нахождения третьей координаты будем использовать инструмент MS EXCEL Подбор параметра (подробнее см.

Подбор параметра в MS EXCEL

).

Пусть координаты заданного вектора равны {2; 3; 1} (и размещены в ячейках

В37:В39

), а известные координаты искомого ортогонального вектора равны  {3; 1; ?} (размещены в ячейках

С37:С39

) См. рисунок выше и

файл примера

.

Вычислим в ячейке

А42

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

=СУММПРОИЗВ(B37:B39;C37:C39)

Вызовем окно

Подбора параметра

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

С39

(искомая координата) будет введено значение -9, а скалярное произведение станет равно 0.


Поиск всех координат ортогонального вектора.

Если заданы координаты только исходного вектора и требуется определить все 3 координаты вектора, ортогональному к нему, то, понятно, что решение не единственно.

Например, для двухмерного случая (на плоскости), можно построить 2 разных вектора, которые будут ортогональны заданному (точнее не 2, а бесконечное множество коллинеарных векторов в двух противоположных направлениях).

Так как нам придется одновременно подбирать сразу 3 координаты, то Подбор параметра нам не подходит, нужно использовать

Поиск решения

(См.

файл примера)

.

В качестве ограничений для Поиска решения можно установить: найденные координаты должны быть целыми числами, а квадрат модуля искомого вектора д.б. >1 (иначе 0 вектор будет предложен в качестве решения). Также можно наложить ограничение на максимальную длину вектора.

После запуска инструмента Поиск решения будут найдены координаты {0; -1; 3}

Отображение (ортогональных) векторов на плоскости

В двухмерном случае можно отобразить 2 ортогональных вектора.

Тип диаграммы установлен График (см.

Основные типы диаграмм в MS EXCEL

, раздел График).

Чтобы вектора выглядели ортогональными, необходимо зафиксировать минимальные и максимальные значения, отображаемые осями (см.

Основы построения диаграмм в MS EXCEL

, раздел 7.Оси), иначе при построении различных пар векторов MS EXCEL будет применять автомасштабирование графика и масштабы осей могут стать не равными (это приведет к тому, что угол 90 градусов не будет выглядеть прямым).

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


В этом руководстве объясняется, как рассчитать скалярный продукт в Excel.

Что такое скалярный продукт?

Для данного вектора a = [a 1 , a 2 , a 3 ] и вектора b = [b 1 , b 2 , b 3 ] скалярное произведение вектора a и вектора b, обозначаемое как a · b , определяется как:

а · b = а 1 * b 1 + а 2 * b 2 + а 3 * b 3

Например, если a = [2, 5, 6] и b = [4, 3, 2], то скалярное произведение a и b будет равно:

а · б = 2*4 + 5*3 + 6*2

а · б = 8 + 15 + 12

а · б = 35

По сути, скалярное произведение — это сумма произведений соответствующих элементов двух векторов.

Как найти точечный продукт в Excel

Чтобы найти скалярное произведение двух векторов в Excel, мы можем использовать следующие шаги:

1. Введите данные.Введите значения данных для каждого вектора в их собственные столбцы. Например, введите значения данных для вектора a = [2, 5, 6] в столбец A и значения данных для вектора b = [4, 3, 2] в столбец B:

2. Вычислите скалярный продукт. Чтобы вычислить скалярный продукт, мы можем использовать функцию Excel СУММПРОИЗВ() , которая использует следующий синтаксис:

СУММПРОИЗВ(массив1, [массив2], …)

  • array — первый массив или диапазон, который необходимо умножить, а затем добавить.
  • array2 — второй массив или диапазон для умножения, а затем добавления.

В этом примере мы можем ввести следующее в ячейку D1 , чтобы вычислить скалярное произведение между вектором a и вектором b :

=СУММПРОИЗВ(A1:A3, B1:B3)

Это дает значение 35 , которое соответствует ответу, который мы получили вручную.

Обратите внимание, что мы можем использовать СУММПРОИЗВ() для нахождения скалярного произведения векторов любой длины. Например, предположим, что вектор a и b имеют длину 20. Затем мы можем ввести следующую формулу в ячейку D1 , чтобы вычислить их скалярное произведение:

=СУММПРОИЗВ(A1:A20, B1:B20)

Возможные ошибки при вычислении скалярного произведения

Функция СУММПРОИЗВ() вернет #ЗНАЧ! ошибка, если векторы не имеют одинаковой длины.

Например, если вектор a имеет длину 20, а вектор b имеет длину 19, то формула =СУММПРОИЗВ(A1:A20, B1:B19) вернет ошибку.

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

Дополнительные ресурсы

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

Как рассчитать скалярный продукт в Google Sheets
Как рассчитать скалярный продукт в R
Как рассчитать скалярный продукт на калькуляторе TI-84

Скалярное произведение векторов в EXCEL, ортогональные векторы

history 19 декабря 2015 г.
    Группы статей

  • Векторы

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

Скалярным произведением двух векторов называется действительное число (скаляр), равное произведению длин умножаемых векторов на косинус угла между ними.

В случае двухмерной задачи скалярное произведение векторов a = < a x ; a y > и b = < b x ; b y > можно найти воспользовавшись следующей формулой: a · b = a x · b x + a y · b y Для вычисления скалярного произведения векторов в MS EXCEL идеально подходит функция СУММПРОИЗВ()

Если координаты 2-х векторов введены в диапазоны B8:C8 и B9:C9 соответственно, то формула =СУММПРОИЗВ(B8:C8;B9:C9) подсчитает скалярное произведение векторов (см. файл примера ).

Естественно, для трехмерного случая можно записать аналогичную формулу.

Ортогональность векторов

Два вектора называются ортогональными если угол между ними равен 90 градусов. Т.к. косинус угла 90 градусов равен 0, то и их скалярное произведение равно 0.

Интерес представляет поиск вектора, ортогонального заданному.

Поиск одной координаты. Сначала подберем одну из координат трехмерного вектора, так, чтобы он стал ортогональным заданному (2 другие координаты известны). Такая координата всегда существует и решение единственно.

Для нахождения третьей координаты будем использовать инструмент MS EXCEL Подбор параметра (подробнее см. Подбор параметра в MS EXCEL ).

Пусть координаты заданного вектора равны <2; 3; 1>(и размещены в ячейках В37:В39 ), а известные координаты искомого ортогонального вектора равны <3; 1; ?>(размещены в ячейках С37:С39 ) См. рисунок выше и файл примера .

Вычислим в ячейке А42 скалярное произведение векторов с помощью формулы =СУММПРОИЗВ(B37:B39;C37:C39)

Вызовем окно Подбора параметра для ввода критериев поиска и установим их как показано на рисунке выше. После нажатия кнопки ОК в ячейке С39 (искомая координата) будет введено значение -9, а скалярное произведение станет равно 0.

Поиск всех координат ортогонального вектора. Если заданы координаты только исходного вектора и требуется определить все 3 координаты вектора, ортогональному к нему, то, понятно, что решение не единственно.

Например, для двухмерного случая (на плоскости), можно построить 2 разных вектора, которые будут ортогональны заданному (точнее не 2, а бесконечное множество коллинеарных векторов в двух противоположных направлениях).

Так как нам придется одновременно подбирать сразу 3 координаты, то Подбор параметра нам не подходит, нужно использовать Поиск решения (См. файл примера) .

В качестве ограничений для Поиска решения можно установить: найденные координаты должны быть целыми числами, а квадрат модуля искомого вектора д.б. >1 (иначе 0 вектор будет предложен в качестве решения). Также можно наложить ограничение на максимальную длину вектора.

После запуска инструмента Поиск решения будут найдены координаты

Отображение (ортогональных) векторов на плоскости

В двухмерном случае можно отобразить 2 ортогональных вектора.

Тип диаграммы установлен График (см. Основные типы диаграмм в MS EXCEL , раздел График).

Чтобы вектора выглядели ортогональными, необходимо зафиксировать минимальные и максимальные значения, отображаемые осями (см. Основы построения диаграмм в MS EXCEL , раздел 7.Оси), иначе при построении различных пар векторов MS EXCEL будет применять автомасштабирование графика и масштабы осей могут стать не равными (это приведет к тому, что угол 90 градусов не будет выглядеть прямым).

Векторные диаграммы

Векторные диаграммы и комплексное представление

Векторные диаграммы можно считать вариантом (и иллюстрацией) представления колебаний в виде комплексных чисел . При таком сопоставлении ось Ox соответствует оси действительных чисел, а ось Oy – оси чисто мнимых чисел (положительный единичный вектор вдоль которой есть мнимая единица ).

Тогда вектор длиной A, вращающийся в комплексной плоскости с постоянной угловой скоростью ω с начальным углом φ0 запишется как комплексное число

а его действительная часть

-есть гармоническое колебание с циклической частотой ω и начальной фазой φ0.

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

  • Метод векторных диаграмм может излагаться отдельно в курсах электротехники или элементарной физики, если по тем или иным причинам (обычно связанным с умеренным уровнем математической подготовки учащихся и недостатком времени) надо избежать использования комплексных чисел (в явном виде) вообще.
  • Метод комплексного представления (который при необходимости или желании может включать и графическое представление, что, правда, совершенно не обязательно и иногда излишне) вообще говоря более мощен, т.к. естественно включает в себя, например, составление и решение систем уравнений любой сложности, в то время как метод векторных диаграмм в чистом виде всё же ограничен задачами, подразумевающим суммирование, которое можно изобразить на одном чертеже.
  • Однако метод векторных диаграмм (в чистом виде или в качестве графической составляющей метода комплексного представления) – более нагляден, а значит в некоторых случаях потенциально более надежен (позволяет до некоторой степени избежать грубых случайных ошибок, которые могут встречаться при абстрактных алгебраических вычислениях) и позволяет в некоторых случаях достичь в каком-то смысле более глубокого понимания задачи.

Разновидности векторных диаграмм

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

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

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

Допустим, что надо изучить изменение параметров тока в цепи при разных значениях сопротивления резистора в диапазоне от нуля до бесконечности. В этой схеме напряжение на выходе (U) будет равно сумме значений (UR и UL) на каждом из элементов. Индуктивный характер второй величины подразумевает перпендикулярное взаимное расположение, что хорошо видно на части рисунка б). Образованные треугольники отлично вписываются в сегмент окружности 180 градусов. Эта кривая соответствует всем возможным точкам, через которые проходит конец вектора UR при соответствующем изменении электрического сопротивления. Вторая диаграмма в) демонстрирует отставание тока по фазе на угол 90°.

Здесь изображен двухполюсный элемент с активной и реактивной составляющими проводимости (G и jB, соответственно). Аналогичными параметрами обладает классический колебательный контур, созданный с применением параллельной схемы. Отмеченные выше параметры можно изобразить векторами, которые расположены постоянно под углом 90°. Изменение реактивной компоненты сопровождается перемещением вектора тока (I1…I3). Образованная линия располагается перпендикулярно U и на расстоянии Ia от нулевой точки оси координат.

Механика; гармонический осциллятор

  • Гармонический осциллятор в механике и гармонический осциллятор любой природы формально представляют точную аналогию, поэтому рассмотрим их в одном параграфе на примере механического гармонического осциллятора.
  • Применение векторных диаграмм в механике сводится в основном к случаю гармонического осциллятора (в том числе имеется в виду и случай осциллятора с линейной по скорости силой трения); впрочем, векторные диаграммы могут быть до некоторой степени полезны и для исследования нескольких осцилляторов в том числе и в пределе бесконечного их количества (для колебаний или волн в распределенных системах).
  • С современной точки зрения применение векторных диаграмм к гармоническому осциллятору представляет скорее только исторический и педагогический интерес, однако тем не менее в принципе они здесь вполне применимы.
  • В механике применение векторных диаграмм (обычно подразумевается их применение к одномерному осциллятору) имеет ту особенность, что добавляющаяся вторая координата для превращения колебаний во вращение может иметь не только чисто формальный абстрактный смысл, но для одномерной механической системы такого сорта может быть указана механическая же двумерная система, для которой векторная диаграмма первой реализуется как вполне реальное двумерное механическое движение, и все векторы реально двумерны (а после проецирования всех их и движения точки двумерной системы на одну ось, мы получаем мгновенные значения соответствующих величин – в том числе положения – для соответствующей одномерной системы); таким образом, для механической одномерной системы возможна не только формальная математическая, но и реальная механическая модель, переводящая колебательное одномерное движение во вращательное движение в двумерном пространстве, реализующая в себе векторную диаграмму для одномерной системы.

Разберем два основных случая простого применения векторных диаграмм в механике (как замечено выше, также применимых к гармоническому осциллятору не только механической, но любой природы): осциллятор без затухания и без внешней силы и осциллятор с (линейным) затуханием (вязкостью), и внешней вынуждающей силой.

Представление синусоидальных функций в виде комплексных чисел

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

Рассмотрим, например, произвольный ток, представленный в виде синусоидальной функции

Данный синусоидальный сигнал можно представить в виде комплексной величины

Для формирования комплексного числа используются модуль и фаза синусоидального сигнала.

Векторная диаграмма при последовательном соединении элементов

Для построения векторных диаграмм сперва составляют уравнения по законам Кирхгофа для рассматриваемой электрической цепи.

Рассмотрим электрическую цепь, представленную на рис. 1, и нарисуем для неё векторную диаграмму напряжений. Обозначим падение напряжение на элементах.

Рис. 1. Последовательное соединение элементов цепи

Составим уравнение для данной цепи по второму закону Кирхгофа :

По закону Ома падение напряжений на элементах определяется по следующим выражениям:

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

Из курса математики известно, что j = 1∠90°, −j = 1∠−90°. Отсюда при построении векторной диаграммы умножение какого-либо вектора на мнимую единицу j приводит к повороту этого вектора на 90 градусов против часовой стрелки, а умножение на −j приводит к повороту этого вектора на 90 градусов по часовой стрелке.

При построении векторной диаграммы напряжений на комплексной плоскости сперва отобразим вектор тока I, после чего относительного него будем отображать вектора падений напряжений (рис. 2) с учётом приведённых выше соотношений для мнимой единицы.

Падение напряжения на резисторе UR совпадает по направлению с током I (т.к. UR = I R, а R – чисто действительная величина или, простыми словами, нет умножения на мнимую единицу). Падение напряжения на индуктивном сопротивлении опережает вектор тока на 90° (т.к. UL = I jXL, а умножение на j приводит повороту этого вектора на 90° против часовой стрелки). Падение напряжения на ёмкостном сопротивлении отстаёт от вектора тока на 90° (т.к. UC = −I jXC, а умножение на −j приводит повороту этого вектора на 90° по часовой стрелке).


Рис. 2. Векторная диаграмма напряжений при последовательном соединении элементов цепи

Векторная диаграмма при параллельном соединении элементов

Рассмотрим электрическую цепь, представленную на рис. 3, и нарисуем для неё векторную диаграмму токов. Обозначим направление токов в ветвях.


Рис. 3. Параллельное соединение элементов цепи

Составим уравнение для данной цепи по первому закону Кирхгофа :

Определим по закону Ома токи в ветвях по следующим выражениям, учитывая, что 1 / j = −j:

Для построения векторной диаграммы необходимо отобразить приведённые в уравнении слагаемые на комплексной плоскости.

При построении векторной диаграммы токов на комплексной плоскости сперва отобразим вектор ЭДС E, после чего относительного него будем отображать вектора токов токов (рис. 4) с учётом приведённых выше соотношений для мнимой единицы.

Ток в резисторе IR совпадает по направлению с ЭДС E (т.к. IR = E / R, а R – чисто действительная величина или, простыми словами, нет умножения на мнимую единицу). Ток в индуктивном сопротивлении отстаёт от вектора ЭДС на 90° (т.к. IL = −j ∙ E / XL, а умножение на −j приводит повороту этого вектора на 90° по часовой стрелки). Ток в ёмкостном сопротивлении опережает вектор ЭДС на 90° (т.к. IC = j ∙ E / XC, а умножение на j приводит повороту этого вектора на 90° против часовой стрелки). Результирующий вектор тока определяется после геометрического сложения всех векторов по правилу параллелограмма.


Рис. 4. Векторная диаграмма токов при параллельном соединении элементов цепи

Для произвольной цепи алгоритм построения векторных диаграмм аналогичен вышеизложенному с учётом протекаемых в ветвях токов и прикладываемых напряжений.

Обращаем ваше внимание, что на сайте представлен инструмент для построения векторных диаграмм онлайн для трёхфазных цепей.

Алгоритм создания лучевой векторной диаграммы в Excel

Чтобы упростить наш урок, давайте предположим, что мы говорим об отношениях не между четырнадцатью как на графике, а пока только с 4-ма людьми по имени Антон, Алиса, Борис и Белла.

Наша матрица уровня отношений и связей между ними выглядит следующим образом:

  • 0 значит отсутствие отношений;
  • 1 означает слабые отношения (например: Антон и Алиса просто знают друг друга);
  • 2 означает крепкие отношения (например, Борис и Алиса друзья).

Как можно геометрически смоделировать визуализацию этих исходных данных? Если бы мы нарисовали отношения между этими четырьмя людьми (Антон, Алиса, Борис и Белла), это схематически выглядело бы так:

2 критерия, которые нам нужно определить:

  1. Расположение точек (где печатаются имена людей).
  2. Линии (начальная и конечная точка соединения линий).

Определение и построение точек

Сначала нам нужно построить наши точки таким образом, чтобы промежуток между каждой точкой был одинаковым. Это создаст сбалансированный график.

Какая геометрическая фигура максимально удовлетворяет нашу потребность в таких равных промежутках? Конечно же круг!

Вы можете возразить, что на готовой модели диаграммы нет фигуры круга. Да действительно нет –вот так. Нам не нужно рисовать круг. Нам просто нужно построить точки вокруг него.

Таким образом, у нас есть 4 заинтересованные стороны, нам нужно 4 точки:

  1. Если у нас 12 заинтересованных сторон, нам нужно 12 точек.
  2. Если у нас есть 20, нам нужно 20 точек.

Предполагая, что источником нашего круга является (x, y), радиус – это r, а тета – 360, деленная на количество нужных нам точек. Первая точка (x1, y1) на окружности будет в этой позиции:

  • x1 = x + r * COS (тета);
  • y1 = y + r * SIN (тета).

Как только все точки рассчитаны и подключены к XY-диаграмме (точечная диаграмма), давайте двигаться дальше.

Построение линий на лучевой диаграмме

Допустим, у нас в сети есть n человек. Это означает, что каждый человек может иметь максимум n -1 отношений.

Таким образом, общее количество возможных линий на нашем графике равно n * ( n -1) / 2.

Нам нужно разделить его на 2, как будто A знает B, тогда B тоже знает A. Но нам нужно нарисовать только 1 линию.

Шаблон лучевой диаграммы для анализа сетевого графика настроен для работы с 20 людьми. Его можно скачать в конце статьи и использовать как готовый аналитический инструмент визуализации данных связей. Это означает, что максимальное количество строк, которое мы можем иметь, будет равно 190.

Каждая строка требует добавления отдельной серии на график. Это означает, что нам нужно добавить 190 серий данных только для 20 человек. И это удовлетворяет только одному типу линии (пунктирная или толстая). Если нам нужны разные линии в зависимости от типа отношений, нам нужно добавить еще 190 серий.

Это больно и смешно одновременно. К счастью, выход есть!

Мы можем использовать гораздо меньшее количество серий и по-прежнему строить один и тот же график.

Допустим, у нас есть 4 человека – A,B,C и D. Ради простоты, давайте предположим, что координаты этих 4-х участников следующие:

И скажем, A имеет отношения с B, C и D.

Это означает, что нам нужно нарисовать 3 линии, от A до B, от A до C и A до D.

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

Это означает, что мы просто рисуем одну длинную линию от A до B, от A до C, от A до D. Договорились, что это не прямая линия, но точечные диаграммы Excel могут нарисовать любую линию, если вы предоставите ей набор координат.

Смотрите эту иллюстрацию, чтобы понять технику:

Таким образом, вместо 190 рядов данных для диаграммы нам просто нужно 20 рядов.

На последнем графике мы имеем 40 + 2 + 1 ряд данных. Это потому что:

  • 20 линий для слабых отношений (пунктирные линии);
  • 20 линий для прочных отношений (толстые линии);
  • 1 строка для выделения синим цветом слабых отношений выделенного участника;
  • 1 строка для выделения зеленым цветом сильных отношений выделенного участника;
  • 1 комплект без линий, а просто точек для подписей данных на графике.

Как сгенерировать все 20 серий данных:

Это требует следующей логики:

  • Предполагая, что нам нужны линии для отношений человека n .
  • Точка этого человека будет ( Xn, Yn ) и уже рассчитана ранее (в точках на графике вокруг круга).
  • Нам нужно всего 40 строк данных.
  • Каждая нечетная строка будет иметь ( Xn, Yn ).
  • Для каждого четного ряда:
    • разделите номер строки на 2, чтобы получить номер человека (скажем, m );
    • ( Xn, Yn ), если нет отношений между n и m ;
    • ( Xm, Ym ), если есть отношения.

    Нам нужны формулы MOD и INDEX для выражения этой логики в Excel.

    Как только все координаты линии будут рассчитаны, добавьте их к нашему точечному графику как новые ряды используя инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления всех 43-х рядов.

    Реализовывать создание такой лучевой диаграммы связей будем в 3 этапа:

    1. Подготовка исходных данных.
    2. Обработка данных.
    3. Визуализация.

    Подготовка данных для лучевой диаграммы

    Как уже упоминалось выше данный шаблон будет обладать возможностью визуального построения связей до 20-ти участников (компаний, филиалов, контрагентов и т.п.). На листе книги шаблона «Данные» предоставленная таблица для заполнения входящих значений. Например, заполним ее для 14-ти участников рынка:

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

    С подготовкой данных мы закончили переходим к обработке.

    Как вычислить сумму векторов?

    Вектора и матрицы в электронной таблице хранятся в виде массивов.

    Известно, что сумма векторов – это вектор, координаты которого равны суммам соответствующих координат исходных векторов:

    Для вычисления суммы векторов нужно выполнить следующую последовательность действий:

    – В диапазоны ячеек одинаковой размерности ввести значения числовых элементов каждого вектора.

    – Выделить диапазон ячеек для вычисляемого результата такой же размерности, что и исходные векторы.

    – Ввести в выделенный диапазон формулу перемножения диапазонов

    – Нажать комбинацию клавиш [Ctrl] + [Shift] +[Enter].

    Даны два вектора:

    Требуется вычислить сумму этих векторов.

    – В ячейки диапазона А2:A4 введем значения координат вектора a1, а в ячейки диапазона С2:С4 – координаты вектора a2.

    – Выделим ячейки диапазона, в которых будет вычисляться результирующий вектор С ( E2:E4 ) и введем в выделенный диапазон формулу:

    – Нажмем комбинацию клавиш [Ctrl] + [Shift] +[Enter]. В ячейках диапазона E2:E4 будут вычислены соответствующие координаты результирующего вектора.

    Сложение и вычитание векторов

    Главным достоинством векторных — это возможность простого сложения и вычитания двух величин. Например: требуется сложить, два тока, заданных уравнениями

    Сложим два заданных тока i1 и i2 по известному правилу сложения векторов (рис. 12.12, а). Для этого изобразим токи в виде векторов из общего начала 0. Результирующий вектор найдем как диагональ параллелограмма, построенного на слагаемых векторах:

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

    Вектор Im, проведенный из начала первого вектора в конец последнего, представляет собой сумму всех векторов (рис. 12.12, б).

    Вычитание одного вектора из другого выполняют сложением прямого вектора (уменьшаемого) и обратного (вычитаемого) (рис. 12.13):

    При сложении синусоидальных величин в отдельных случаях можно применить аналитическое решение: применительно к рис. 12.12, а — по теореме косинусов; к рис. 12.14, а — сложение модулей векторов; б — вычитание модулей векторов, в — по теореме Пифагора.

    Лучевая векторная диаграмма для визуализации связей в Excel

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

    Как сделать лучевую векторную диаграмму связей в Excel

    Сначала взглянем на то, что мы пытаемся построить и визуально оценим объем работы. Выглядит интересно? Тогда читайте дальше, чтобы узнать, как это создать.

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

    Как видите, диаграмма содержит следующие части:

    1. Набор точек, каждая из которых представляет одну заинтересованную сторону – участники сети.
    2. Набор сероватых толстых сплошных и тонких пунктирных линий, представляющих все отношения между людьми. Сплошные – сильные связи (например, друзья), пунктирные – слабые связи (знакомые).
    3. Набор зеленых толстых и синих пунктирных линий, представляющих отношения для выбранного конкретного участника сетевой группы.
    4. Срез для выбора анализа участника – как панель управления лучевой диаграммой.
    5. Табличка со сводной статистикой выбранного человека.

    Алгоритм создания лучевой векторной диаграммы в Excel

    Чтобы упростить наш урок, давайте предположим, что мы говорим об отношениях не между четырнадцатью как на графике, а пока только с 4-ма людьми по имени Антон, Алиса, Борис и Белла.

    Наша матрица уровня отношений и связей между ними выглядит следующим образом:

    • 0 значит отсутствие отношений;
    • 1 означает слабые отношения (например: Антон и Алиса просто знают друг друга);
    • 2 означает крепкие отношения (например, Борис и Алиса друзья).

    Как можно геометрически смоделировать визуализацию этих исходных данных? Если бы мы нарисовали отношения между этими четырьмя людьми (Антон, Алиса, Борис и Белла), это схематически выглядело бы так:

    2 критерия, которые нам нужно определить:

    1. Расположение точек (где печатаются имена людей).
    2. Линии (начальная и конечная точка соединения линий).

    Определение и построение точек

    Сначала нам нужно построить наши точки таким образом, чтобы промежуток между каждой точкой был одинаковым. Это создаст сбалансированный график.

    Какая геометрическая фигура максимально удовлетворяет нашу потребность в таких равных промежутках? Конечно же круг!

    Вы можете возразить, что на готовой модели диаграммы нет фигуры круга. Да действительно нет –вот так. Нам не нужно рисовать круг. Нам просто нужно построить точки вокруг него.

    Таким образом, у нас есть 4 заинтересованные стороны, нам нужно 4 точки:

    1. Если у нас 12 заинтересованных сторон, нам нужно 12 точек.
    2. Если у нас есть 20, нам нужно 20 точек.

    Предполагая, что источником нашего круга является (x, y), радиус — это r, а тета — 360, деленная на количество нужных нам точек. Первая точка (x1, y1) на окружности будет в этой позиции:

    • x1 = x + r * COS (тета);
    • y1 = y + r * SIN (тета).

    Как только все точки рассчитаны и подключены к XY-диаграмме (точечная диаграмма), давайте двигаться дальше.

    Построение линий на лучевой диаграмме

    Допустим, у нас в сети есть n человек. Это означает, что каждый человек может иметь максимум n -1 отношений.

    Таким образом, общее количество возможных линий на нашем графике равно n * ( n -1) / 2.

    Нам нужно разделить его на 2, как будто A знает B, тогда B тоже знает A. Но нам нужно нарисовать только 1 линию.

    Шаблон лучевой диаграммы для анализа сетевого графика настроен для работы с 20 людьми. Его можно скачать в конце статьи и использовать как готовый аналитический инструмент визуализации данных связей. Это означает, что максимальное количество строк, которое мы можем иметь, будет равно 190.

    Каждая строка требует добавления отдельной серии на график. Это означает, что нам нужно добавить 190 серий данных только для 20 человек. И это удовлетворяет только одному типу линии (пунктирная или толстая). Если нам нужны разные линии в зависимости от типа отношений, нам нужно добавить еще 190 серий.

    Это больно и смешно одновременно. К счастью, выход есть!

    Мы можем использовать гораздо меньшее количество серий и по-прежнему строить один и тот же график.

    Допустим, у нас есть 4 человека – A,B,C и D. Ради простоты, давайте предположим, что координаты этих 4-х участников следующие:

    И скажем, A имеет отношения с B, C и D.

    Это означает, что нам нужно нарисовать 3 линии, от A до B, от A до C и A до D.

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

    Это означает, что мы просто рисуем одну длинную линию от A до B, от A до C, от A до D. Договорились, что это не прямая линия, но точечные диаграммы Excel могут нарисовать любую линию, если вы предоставите ей набор координат.

    Смотрите эту иллюстрацию, чтобы понять технику:

    Таким образом, вместо 190 рядов данных для диаграммы нам просто нужно 20 рядов.

    На последнем графике мы имеем 40 + 2 + 1 ряд данных. Это потому что:

    • 20 линий для слабых отношений (пунктирные линии);
    • 20 линий для прочных отношений (толстые линии);
    • 1 строка для выделения синим цветом слабых отношений выделенного участника;
    • 1 строка для выделения зеленым цветом сильных отношений выделенного участника;
    • 1 комплект без линий, а просто точек для подписей данных на графике.

    Как сгенерировать все 20 серий данных:

    Это требует следующей логики:

  • Предполагая, что нам нужны линии для отношений человека n .
  • Точка этого человека будет ( Xn, Yn ) и уже рассчитана ранее (в точках на графике вокруг круга).
  • Нам нужно всего 40 строк данных.
  • Каждая нечетная строка будет иметь ( Xn, Yn ).
  • Для каждого четного ряда:
    • разделите номер строки на 2, чтобы получить номер человека (скажем, m );
    • ( Xn, Yn ), если нет отношений между n и m ;
    • ( Xm, Ym ), если есть отношения.

    Нам нужны формулы MOD и INDEX для выражения этой логики в Excel.

    Как только все координаты линии будут рассчитаны, добавьте их к нашему точечному графику как новые ряды используя инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления всех 43-х рядов.

    Реализовывать создание такой лучевой диаграммы связей будем в 3 этапа:

    1. Подготовка исходных данных.
    2. Обработка данных.
    3. Визуализация.

    Подготовка данных для лучевой диаграммы

    Как уже упоминалось выше данный шаблон будет обладать возможностью визуального построения связей до 20-ти участников (компаний, филиалов, контрагентов и т.п.). На листе книги шаблона «Данные» предоставленная таблица для заполнения входящих значений. Например, заполним ее для 14-ти участников рынка:

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

    С подготовкой данных мы закончили переходим к обработке.

    Обработка данных для построения лучевой диаграммы

    На следующем листе с именем «Обработка» создаем сначала 2 таблицы: одна обычная, вторая умная. Обычная таблица заполнена формулами и значениями так как показано на рисунке:

    СЧЁТЗ(Данные!$B$3:$B$22);»»;ИНДЕКС(Данные!$B$3:$B$22;$B$60))’ >

    1. В ячейках B9 и B10 используются формулы массива поэтому при их вводе следует использовать комбинацию клавиш CTRL+SHIFT+Enter.
    2. Умная таблица должна быть расположена не выше 45-ой строки текущего листа Excel. Для данной таблице будет регулярно применятся фильтр, который будет скрывать часть строк листа. Нельзя допустить чтобы в эти строки попадали другие значения.

    Рядом создаем еще одну таблицу для вычисления координат на основе данных первой таблицы. Для этого используется 2 формулы для значений X и Y:

    Следующая таблица создана для построения координат линий – отношений на уровне знакомых. Таблица содержит 40 строк и 40 столбцов. Каждая пара столбов – это входящие данные для радов диаграммы. Все ячейки заполнены одной сложной формулой:

    1);ИНДЕКС($E$3:$F$22;I$2;ОСТАТ(ЧИСЛСТОЛБ($H$2:I$2);2)+1);ИНДЕКС($E$3:$F$22;ЦЕЛОЕ($H4/2)+1;ОСТАТ(ЧИСЛСТОЛБ($H$2:I$2);2)+1))’ >

    Рядом же сразу создаем аналогичным образом таблиц с координатами построения линий – отношений на уровне друзей. Все ее ячейки заполнены формулой:

    2);ИНДЕКС($E$3:$F$22;AX$2;ОСТАТ(ЧИСЛСТОЛБ($AW$2:AX$2);2)+1);ИНДЕКС($E$3:$F$22;ЦЕЛОЕ($H4/2)+1;ОСТАТ(ЧИСЛСТОЛБ($AW$2:AX$2);2)+1))’ >

    Эти две таблицы будут использованы для построения серых линий. А теперь создадим еще одну таблицу для построения синих и зеленых линий для выделенного участника:

    В каждом столбце этой таблицы используются разные формулы:

    Столбец листа CM (X-синяя):

    Все с обработкой закончили! У нас есть все координаты для точек и линий. Осталось только построить лучевую диаграмму визуализировав таким образом входящие значения на листе «Данные».

    Визуализация данных связей участников на лучевой диаграмме

    Начнем сначала с построения серых пунктирных линий для отображения всех слабых связей между участниками. А потом сделаем те же самые действия для серых сплошных линий сильных связей. Выделите диапазон ячеек I3:J43 и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Точечная с прямыми отрезками».

    Из диаграммы следует удалить: сетку, оси координат, название и легенду.

    Затем из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления остальных 20-ти рядов:

    Для каждой линии нужно присвоить один и тот же формат. Удобно выбирать ряды линий из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Текущий фрагмент». Из выпадающего списка выбираем необходимый нам ряд, а ниже жмем кнопку «Формат выделенного» чтобы приступить к форматированию:

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

    Не забудем изменить цвета линий на зеленый и синий – соответственно.

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

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

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

    Для создания панели управления будем использовать обычный срез для уже созданной умной таблицы. Перейдите на любую ячейку умной таблице на листе «Обработка» и выберите инструмент: «ВСТАВКА»-«Фильтры»-«Срез». В паявшемся окне укажите галочкой только на опцию «Имя».

    Копируем срез и лучевую диаграмму на отельный лист «ГРАФИК» и наслаждаемся готовым результатом:

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

    источники:

    http://exceltut.ru/vektornye-diagrammy/

    http://exceltable.com/shablony-skachat/luchevaya-vektornaya-diagramma

  • Задача 7

    Вычислить «сигнальную» матрицу B= sign(A).

    Сигнальная матрица имеет ту же размерность, что и матрица, являющаяся аргументом. Ее возможные значения (1, 0, -1) определяются знаком соответствующего элемента матрицы A.

    Bij =1;	     Если Aij > 0 
    Bij =0;	     Если Aij =0 
    Bij = -1;    Если Aij <0

    На этом примере я продемонстрирую действия, выполняемые над матрицей, а заодно покажу использование в рабочих формулах одной из любимых функций программиста — функции ЕСЛИ (IF). Для решения этой задачи я:

    • Ввел матрицу A в ячейки B18:D20.
    • Дал ей имя: » MatrA «.
    • Выделил область ячеек F18:H20 для матрицы B.
    • Дал ей имя: » MatrB «.
    • Ввел в эту область формулу над массивами:
      "{=ЕСЛИ(MatrA > 0; 1; ЕСЛИ(MatrA = 0; 0; -1))}"
    • Получил ожидаемый результат.

    Заметьте, функция ЕСЛИ реализует полноценную If — Then — Else конструкцию, где в качестве Else может снова использоваться функция ЕСЛИ. Что же касается семантики нашей формулы над массивами, то понятно, что для ее реализации организуется двойной цикл по всем элементам исходной матрицы, на каждом шаге которого проверяется свое условие в If — операторе и в зависимости от его истинности вычисляется соответствующее значение элемента матрицы B.

    В заключение взгляните, как выглядит рабочий лист, на котором показано решение задач 5, 6 и 7:

    При локализации Excel введены русские имена для стандартных функций, вызываемых в формулах рабочего листа. Так вместо исходных имен IF и SUM следует использовать имена: ЕСЛИ и СУММ. Лично я предпочел бы, чтобы русские имена функций были бы синонимами, возможными, но не обязательными в использовании. Но правила нужно принимать. Вместе с тем хочу обратить внимание на то, что в функциях, написанных на VBA, при вызове стандартных функций следует использовать исходные имена функций. Более того, когда MacroRecorder создает макрос, он автоматически транслирует русские имена стандартных функций в исходные имена. Есть еще одна важное отличие в вызове стандартных функций в формулах рабочего листа и на VBA. Заметьте, разделителем параметров в формулах рабочего листа является символ » ; «, а для VBA — » ,».

    Задача 8

    Чтобы лучше понять семантику формул с массивами, давайте рассмотрим еще один пример. Вернемся к задаче о вычислении скалярного произведения двух векторов, успешное решение которой было только что продемонстрировано. Внесем некоторое, казалось бы, несущественное изменение в условия задачи. Предположим, что вектора A и B имеют разную ориентацию — один из них вытянут горизонтально, другой — вертикально. Если попытаться решить задачу аналогично тому, как решалась задача 5, то результат может показаться неожиданным, — скалярное произведение не будет вычислено правильно. Попробуем с этим разобраться.

    Постановка задачи:

    Вычислить скалярное произведение векторов разной ориентации: C = SUM(Aj*Bj).

    Вначале рассмотрим результаты следующего эксперимента. Вот мои действия:

    • Создал вектор с горизонтальной ориентацией на рабочем листе, для чего в ячейки F5:H5 ввел значения: 6, 7, 8. Затем выделил этот диапазон и дал созданному вектору имя HorA3.
    • Аналогично создал вектор с вертикальной ориентацией на рабочем листе, для чего в ячейки A6:A8 ввел значения: 3, 5, 7. Затем выделил этот диапазон и дал созданному вектору имя VerA3.
    • После чего я попытался получить скалярное произведение этих векторов, используя ту же формулу, что и в похожей задаче 5. Для этого я записал в ячейку C11 формулу над массивами: » {=СУММ(VerA3*HorA3)} «
    • Результатом вычислений по этой формуле является значение 240, которое и появилось в ячейке C11. Понятно, что в данном случае эта формула вычисляет не скалярное произведение векторов, значение которого равно 92, а нечто другое. Давайте разберемся, как работает машина вычислений Excel в подобных ситуациях.
    Операции над векторами разной ориентации

    То, что полученный результат в предыдущем примере, отличается от ожидаемого, очевидно не связано с функцией суммирования. Функция СУММ честно суммирует все компоненты своего аргумента. Все дело в том, как Excel выполняет основные операции — сложение, умножение, вычитание и деление над массивами. Результат выполнения элементарных операций над массивами есть массив, размерность и ориентация которого зависит от размерности и ориентации массивов, являющихся аргументами операции. Для простоты я ограничусь сейчас рассмотрением действий над векторами, отложив рассмотрение действий над матрицами до следующей главы. Поскольку структура массива результата не зависит от выполняемой операции, то я рассмотрю только операцию умножения, — для сложения, вычитания, деления все будет выполняться аналогично. Для того чтобы рассмотреть все возможные случаи я ввел 3 горизонтально расположенных вектора и 3 вектора с вертикальной ориентацией. Эти вектора получили соответственно имена: HorA3, HorB3, HorA2 и VerA3, VerB3, VerA2. Первые два вектора в каждой ориентации состоят из трех компонент, третий вектор имеет две компоненты, на что указывает имя вектора. Теперь все готово, чтобы рассмотреть семантику выполнения операций и продемонстрировать соответствующие примеры:

    1. Операции над векторами одинаковой ориентации и одинаковой размерности. В этом случае результатом является вектор той же размерности и ориентации, что и вектора — аргументы. Каждая компонента результирующего вектора является результатом выполнения операции над соответствующими компонентами векторов — аргументов: cj = aj * bj. В качестве демонстрации я перемножил между собой два вектора горизонтальной ориентации и два вектора вертикальной ориентации. В первом случае я выделил для результата горизонтально расположенный диапазон ячеек B18:D18 и ввел формулу над массивами: » {=HorA3*HorB3} «. Во втором случае в ячейки A14:A16 ввел формулу: » {=VerA3*VerB3} «. В обоих случаях были получены ожидаемые результаты.

    2. Операции над векторами одинаковой ориентации и разными размерностями N и M, где N>M. В этом случае результатом выполнения операции является вектор той же ориентации, размерность которого равна N. Вектор является частично определенным, у него будет вычислено лишь M компонент, остальные компоненты получат неопределенное значение — » Н/Д «. Заметьте, нельзя считать, что результатом является полностью определенный вектор размерности M, поскольку в дальнейших операциях участвуют все компоненты. Вот подтверждающий пример. В ячейку E11 я ввел формулу над массивами: » {=СУММ(VerA3*VerA2)} «. Результат вычислений по этой формуле не определен — » Н/Д «, поскольку в суммировании будет участвовать ячейка с неопределенным значением » Н/Д «.

    3. Операции над векторами разной ориентации и одной и той же размерности N. Результатом операции над такими векторами будет квадратная матрица размерности N*N, элементы которой получены применением операции ко всем возможным парам элементов: ci,j = ai * bj. Для демонстрации я выделил область из 9 ячеек C14:E16 и ввел формулу над массивами: » {=VerA3*HorA3} «, в результате область заполнилась попарными произведениями элементов соответствующих векторов. Теперь можно объяснить, что произошло в примере, с которого я начал, пытаясь вычислить скалярное произведение векторов разной ориентации. Когда формула над массивами — » {СУММ(A*B)} » применяется к векторам одинаковой ориентации, то суммирование идет над элементами вектора и реализуется одинарным циклом — sum Ak * Bk. Когда же эта формула применяется к векторам разной ориентации, то суммирование п

      рименяется к
      элементам матрицы и реализуется двойным циклом — sum sum (Aj * Bk), что, впрочем, эквивалентно произведению сумм: (sum A_j) * (sum B_k).

    4. Операции над вертикально ориентированным вектором размерности N и горизонтально ориентированным вектором размерности M. Как ни странно, несмотря на разную размерность векторов, результатом всегда будет полностью определенная матрица размерности N*M. Ее элементы получаются применением операции ко всем возможным парам элементов исходных векторов:

      forall i : 1…N,  forall j : 1…M c_{i,j} = a_i * b_j,

      Заметьте, размерность матрицы — результата не зависит от порядка следования аргументов при записи формулы над массивами, так что операции сложения и умножения коммутативны. Вот два примера. В область ячеек G14:H16 я ввел формулу над массивами: » {=VerA3*HorA2} «, в результате вычислений была создана прямоугольная матрица размерности 3*2. Аналогичная матрица была создана, когда я выделил область ячеек J14:K16 и записал туда следующую формулу:

    Результаты всех моих действий по работе с векторами разной ориентации показаны на следующем рисунке:

    Вернемся теперь к задаче 8 и посмотрим, как же все-таки вычислить настоящее скалярное произведение в том случае, когда вектора имеют разную ориентацию. Ответ понятен, проще всего привести их к одной ориентации, для чего один из них следует транспонировать. Для транспонирования можно воспользоваться стандартной функцией ТРАНСП, что я и сделал, введя в одну из ячеек — J5 формулу над массивами: » {=СУММ(VerA3*ТРАНСП(HorA3))} «. Вычисление по этой формуле дает нужный результат.

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

    Содержание

    1. Скалярное произведение векторов в EXCEL, ортогональные векторы
    2. Ортогональность векторов
    3. Отображение (ортогональных) векторов на плоскости
    4. Как легко рассчитать скалярный продукт в Excel
    5. Что такое скалярный продукт?
    6. Как найти точечный продукт в Excel
    7. Возможные ошибки при вычислении скалярного произведения
    8. Дополнительные ресурсы
    9. Как построить векторы в экселе
    10. Скалярное произведение векторов в EXCEL, ортогональные векторы
    11. Ортогональность векторов
    12. Отображение (ортогональных) векторов на плоскости
    13. Векторные диаграммы
    14. Векторные диаграммы и комплексное представление
    15. Разновидности векторных диаграмм
    16. Механика; гармонический осциллятор
    17. Представление синусоидальных функций в виде комплексных чисел
    18. Векторная диаграмма при последовательном соединении элементов
    19. Векторная диаграмма при параллельном соединении элементов
    20. Алгоритм создания лучевой векторной диаграммы в Excel
    21. Определение и построение точек
    22. Построение линий на лучевой диаграмме
    23. Подготовка данных для лучевой диаграммы
    24. Как вычислить сумму векторов?
    25. Сложение и вычитание векторов
    26. Лучевая векторная диаграмма для визуализации связей в Excel
    27. Как сделать лучевую векторную диаграмму связей в Excel
    28. Алгоритм создания лучевой векторной диаграммы в Excel
    29. Определение и построение точек
    30. Построение линий на лучевой диаграмме
    31. Подготовка данных для лучевой диаграммы
    32. Обработка данных для построения лучевой диаграммы
    33. Визуализация данных связей участников на лучевой диаграмме
    34. Интерактивная панель управления лучевой диаграммой связей

    Скалярное произведение векторов в EXCEL, ортогональные векторы

    history 19 декабря 2015 г.

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

    Скалярным произведением двух векторов называется действительное число (скаляр), равное произведению длин умножаемых векторов на косинус угла между ними.

    В случае двухмерной задачи скалярное произведение векторов a = < a x ; a y > и b = < b x ; b y > можно найти воспользовавшись следующей формулой: a · b = a x · b x + a y · b y Для вычисления скалярного произведения векторов в MS EXCEL идеально подходит функция СУММПРОИЗВ()

    Если координаты 2-х векторов введены в диапазоны B8:C8 и B9:C9 соответственно, то формула =СУММПРОИЗВ(B8:C8;B9:C9) подсчитает скалярное произведение векторов (см. файл примера ).

    Естественно, для трехмерного случая можно записать аналогичную формулу.

    Ортогональность векторов

    Два вектора называются ортогональными если угол между ними равен 90 градусов. Т.к. косинус угла 90 градусов равен 0, то и их скалярное произведение равно 0.

    Интерес представляет поиск вектора, ортогонального заданному.

    Поиск одной координаты. Сначала подберем одну из координат трехмерного вектора, так, чтобы он стал ортогональным заданному (2 другие координаты известны). Такая координата всегда существует и решение единственно.

    Для нахождения третьей координаты будем использовать инструмент MS EXCEL Подбор параметра (подробнее см. Подбор параметра в MS EXCEL ).

    Пусть координаты заданного вектора равны <2; 3; 1>(и размещены в ячейках В37:В39 ), а известные координаты искомого ортогонального вектора равны <3; 1; ?>(размещены в ячейках С37:С39 ) См. рисунок выше и файл примера .

    Вычислим в ячейке А42 скалярное произведение векторов с помощью формулы =СУММПРОИЗВ(B37:B39;C37:C39)

    Вызовем окно Подбора параметра для ввода критериев поиска и установим их как показано на рисунке выше. После нажатия кнопки ОК в ячейке С39 (искомая координата) будет введено значение -9, а скалярное произведение станет равно 0.

    Поиск всех координат ортогонального вектора. Если заданы координаты только исходного вектора и требуется определить все 3 координаты вектора, ортогональному к нему, то, понятно, что решение не единственно.

    Например, для двухмерного случая (на плоскости), можно построить 2 разных вектора, которые будут ортогональны заданному (точнее не 2, а бесконечное множество коллинеарных векторов в двух противоположных направлениях).

    Так как нам придется одновременно подбирать сразу 3 координаты, то Подбор параметра нам не подходит, нужно использовать Поиск решения (См. файл примера) .

    В качестве ограничений для Поиска решения можно установить: найденные координаты должны быть целыми числами, а квадрат модуля искомого вектора д.б. >1 (иначе 0 вектор будет предложен в качестве решения). Также можно наложить ограничение на максимальную длину вектора.

    После запуска инструмента Поиск решения будут найдены координаты

    Отображение (ортогональных) векторов на плоскости

    В двухмерном случае можно отобразить 2 ортогональных вектора.

    Тип диаграммы установлен График (см. Основные типы диаграмм в MS EXCEL , раздел График).

    Чтобы вектора выглядели ортогональными, необходимо зафиксировать минимальные и максимальные значения, отображаемые осями (см. Основы построения диаграмм в MS EXCEL , раздел 7.Оси), иначе при построении различных пар векторов MS EXCEL будет применять автомасштабирование графика и масштабы осей могут стать не равными (это приведет к тому, что угол 90 градусов не будет выглядеть прямым).

    Источник

    Как легко рассчитать скалярный продукт в Excel

    В этом руководстве объясняется, как рассчитать скалярный продукт в Excel.

    Что такое скалярный продукт?

    Для данного вектора a = [a 1 , a 2 , a 3 ] и вектора b = [b 1 , b 2 , b 3 ] скалярное произведение вектора a и вектора b, обозначаемое как a · b , определяется как:

    а · b = а 1 * b 1 + а 2 * b 2 + а 3 * b 3

    Например, если a = [2, 5, 6] и b = [4, 3, 2], то скалярное произведение a и b будет равно:

    а · б = 2*4 + 5*3 + 6*2

    а · б = 8 + 15 + 12

    а · б = 35

    По сути, скалярное произведение — это сумма произведений соответствующих элементов двух векторов.

    Как найти точечный продукт в Excel

    Чтобы найти скалярное произведение двух векторов в Excel, мы можем использовать следующие шаги:

    1. Введите данные.Введите значения данных для каждого вектора в их собственные столбцы. Например, введите значения данных для вектора a = [2, 5, 6] в столбец A и значения данных для вектора b = [4, 3, 2] в столбец B:

    2. Вычислите скалярный продукт. Чтобы вычислить скалярный продукт, мы можем использовать функцию Excel СУММПРОИЗВ() , которая использует следующий синтаксис:

    СУММПРОИЗВ(массив1, [массив2], …)

    • array — первый массив или диапазон, который необходимо умножить, а затем добавить.
    • array2 — второй массив или диапазон для умножения, а затем добавления.

    В этом примере мы можем ввести следующее в ячейку D1 , чтобы вычислить скалярное произведение между вектором a и вектором b :

    =СУММПРОИЗВ(A1:A3, B1:B3)

    Это дает значение 35 , которое соответствует ответу, который мы получили вручную.

    Обратите внимание, что мы можем использовать СУММПРОИЗВ() для нахождения скалярного произведения векторов любой длины. Например, предположим, что вектор a и b имеют длину 20. Затем мы можем ввести следующую формулу в ячейку D1 , чтобы вычислить их скалярное произведение:

    =СУММПРОИЗВ(A1:A20, B1:B20)

    Возможные ошибки при вычислении скалярного произведения

    Функция СУММПРОИЗВ() вернет #ЗНАЧ! ошибка, если векторы не имеют одинаковой длины.

    Например, если вектор a имеет длину 20, а вектор b имеет длину 19, то формула =СУММПРОИЗВ(A1:A20, B1:B19) вернет ошибку.

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

    Дополнительные ресурсы

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

    Источник

    Как построить векторы в экселе

    Скалярное произведение векторов в EXCEL, ортогональные векторы

    history 19 декабря 2015 г.

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

    Скалярным произведением двух векторов называется действительное число (скаляр), равное произведению длин умножаемых векторов на косинус угла между ними.

    В случае двухмерной задачи скалярное произведение векторов a = и b = можно найти воспользовавшись следующей формулой: a · b = a x · b x + a y · b y Для вычисления скалярного произведения векторов в MS EXCEL идеально подходит функция СУММПРОИЗВ()

    Если координаты 2-х векторов введены в диапазоны B8:C8 и B9:C9 соответственно, то формула =СУММПРОИЗВ(B8:C8;B9:C9) подсчитает скалярное произведение векторов (см. файл примера ).

    Естественно, для трехмерного случая можно записать аналогичную формулу.

    Ортогональность векторов

    Два вектора называются ортогональными если угол между ними равен 90 градусов. Т.к. косинус угла 90 градусов равен 0, то и их скалярное произведение равно 0.

    Интерес представляет поиск вектора, ортогонального заданному.

    Поиск одной координаты. Сначала подберем одну из координат трехмерного вектора, так, чтобы он стал ортогональным заданному (2 другие координаты известны). Такая координата всегда существует и решение единственно.

    Для нахождения третьей координаты будем использовать инструмент MS EXCEL Подбор параметра (подробнее см. Подбор параметра в MS EXCEL ).

    Пусть координаты заданного вектора равны (и размещены в ячейках В37:В39 ), а известные координаты искомого ортогонального вектора равны (размещены в ячейках С37:С39 ) См. рисунок выше и файл примера .

    Вычислим в ячейке А42 скалярное произведение векторов с помощью формулы =СУММПРОИЗВ(B37:B39;C37:C39)

    Вызовем окно Подбора параметра для ввода критериев поиска и установим их как показано на рисунке выше. После нажатия кнопки ОК в ячейке С39 (искомая координата) будет введено значение -9, а скалярное произведение станет равно 0.

    Поиск всех координат ортогонального вектора. Если заданы координаты только исходного вектора и требуется определить все 3 координаты вектора, ортогональному к нему, то, понятно, что решение не единственно.

    Например, для двухмерного случая (на плоскости), можно построить 2 разных вектора, которые будут ортогональны заданному (точнее не 2, а бесконечное множество коллинеарных векторов в двух противоположных направлениях).

    Так как нам придется одновременно подбирать сразу 3 координаты, то Подбор параметра нам не подходит, нужно использовать Поиск решения (См. файл примера) .

    В качестве ограничений для Поиска решения можно установить: найденные координаты должны быть целыми числами, а квадрат модуля искомого вектора д.б. >1 (иначе 0 вектор будет предложен в качестве решения). Также можно наложить ограничение на максимальную длину вектора.

    После запуска инструмента Поиск решения будут найдены координаты

    Отображение (ортогональных) векторов на плоскости

    В двухмерном случае можно отобразить 2 ортогональных вектора.

    Тип диаграммы установлен График (см. Основные типы диаграмм в MS EXCEL , раздел График).

    Чтобы вектора выглядели ортогональными, необходимо зафиксировать минимальные и максимальные значения, отображаемые осями (см. Основы построения диаграмм в MS EXCEL , раздел 7.Оси), иначе при построении различных пар векторов MS EXCEL будет применять автомасштабирование графика и масштабы осей могут стать не равными (это приведет к тому, что угол 90 градусов не будет выглядеть прямым).

    Векторные диаграммы

    Векторные диаграммы и комплексное представление

    Векторные диаграммы можно считать вариантом (и иллюстрацией) представления колебаний в виде комплексных чисел . При таком сопоставлении ось Ox соответствует оси действительных чисел, а ось Oy – оси чисто мнимых чисел (положительный единичный вектор вдоль которой есть мнимая единица ).

    Тогда вектор длиной A, вращающийся в комплексной плоскости с постоянной угловой скоростью ω с начальным углом φ0 запишется как комплексное число

    а его действительная часть

    -есть гармоническое колебание с циклической частотой ω и начальной фазой φ0.

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

    • Метод векторных диаграмм может излагаться отдельно в курсах электротехники или элементарной физики, если по тем или иным причинам (обычно связанным с умеренным уровнем математической подготовки учащихся и недостатком времени) надо избежать использования комплексных чисел (в явном виде) вообще.
    • Метод комплексного представления (который при необходимости или желании может включать и графическое представление, что, правда, совершенно не обязательно и иногда излишне) вообще говоря более мощен, т.к. естественно включает в себя, например, составление и решение систем уравнений любой сложности, в то время как метод векторных диаграмм в чистом виде всё же ограничен задачами, подразумевающим суммирование, которое можно изобразить на одном чертеже.
    • Однако метод векторных диаграмм (в чистом виде или в качестве графической составляющей метода комплексного представления) – более нагляден, а значит в некоторых случаях потенциально более надежен (позволяет до некоторой степени избежать грубых случайных ошибок, которые могут встречаться при абстрактных алгебраических вычислениях) и позволяет в некоторых случаях достичь в каком-то смысле более глубокого понимания задачи.

    Разновидности векторных диаграмм

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

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

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

    Допустим, что надо изучить изменение параметров тока в цепи при разных значениях сопротивления резистора в диапазоне от нуля до бесконечности. В этой схеме напряжение на выходе (U) будет равно сумме значений (UR и UL) на каждом из элементов. Индуктивный характер второй величины подразумевает перпендикулярное взаимное расположение, что хорошо видно на части рисунка б). Образованные треугольники отлично вписываются в сегмент окружности 180 градусов. Эта кривая соответствует всем возможным точкам, через которые проходит конец вектора UR при соответствующем изменении электрического сопротивления. Вторая диаграмма в) демонстрирует отставание тока по фазе на угол 90°.

    Здесь изображен двухполюсный элемент с активной и реактивной составляющими проводимости (G и jB, соответственно). Аналогичными параметрами обладает классический колебательный контур, созданный с применением параллельной схемы. Отмеченные выше параметры можно изобразить векторами, которые расположены постоянно под углом 90°. Изменение реактивной компоненты сопровождается перемещением вектора тока (I1…I3). Образованная линия располагается перпендикулярно U и на расстоянии Ia от нулевой точки оси координат.

    Механика; гармонический осциллятор

    • Гармонический осциллятор в механике и гармонический осциллятор любой природы формально представляют точную аналогию, поэтому рассмотрим их в одном параграфе на примере механического гармонического осциллятора.
    • Применение векторных диаграмм в механике сводится в основном к случаю гармонического осциллятора (в том числе имеется в виду и случай осциллятора с линейной по скорости силой трения); впрочем, векторные диаграммы могут быть до некоторой степени полезны и для исследования нескольких осцилляторов в том числе и в пределе бесконечного их количества (для колебаний или волн в распределенных системах).
    • С современной точки зрения применение векторных диаграмм к гармоническому осциллятору представляет скорее только исторический и педагогический интерес, однако тем не менее в принципе они здесь вполне применимы.
    • В механике применение векторных диаграмм (обычно подразумевается их применение к одномерному осциллятору) имеет ту особенность, что добавляющаяся вторая координата для превращения колебаний во вращение может иметь не только чисто формальный абстрактный смысл, но для одномерной механической системы такого сорта может быть указана механическая же двумерная система, для которой векторная диаграмма первой реализуется как вполне реальное двумерное механическое движение, и все векторы реально двумерны (а после проецирования всех их и движения точки двумерной системы на одну ось, мы получаем мгновенные значения соответствующих величин – в том числе положения – для соответствующей одномерной системы); таким образом, для механической одномерной системы возможна не только формальная математическая, но и реальная механическая модель, переводящая колебательное одномерное движение во вращательное движение в двумерном пространстве, реализующая в себе векторную диаграмму для одномерной системы.

    Разберем два основных случая простого применения векторных диаграмм в механике (как замечено выше, также применимых к гармоническому осциллятору не только механической, но любой природы): осциллятор без затухания и без внешней силы и осциллятор с (линейным) затуханием (вязкостью), и внешней вынуждающей силой.

    Представление синусоидальных функций в виде комплексных чисел

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

    Рассмотрим, например, произвольный ток, представленный в виде синусоидальной функции

    Данный синусоидальный сигнал можно представить в виде комплексной величины

    Для формирования комплексного числа используются модуль и фаза синусоидального сигнала.

    Векторная диаграмма при последовательном соединении элементов

    Для построения векторных диаграмм сперва составляют уравнения по законам Кирхгофа для рассматриваемой электрической цепи.

    Рассмотрим электрическую цепь, представленную на рис. 1, и нарисуем для неё векторную диаграмму напряжений. Обозначим падение напряжение на элементах.

    Рис. 1. Последовательное соединение элементов цепи

    Составим уравнение для данной цепи по второму закону Кирхгофа :

    По закону Ома падение напряжений на элементах определяется по следующим выражениям:

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

    Из курса математики известно, что j = 1∠90°, −j = 1∠−90°. Отсюда при построении векторной диаграммы умножение какого-либо вектора на мнимую единицу j приводит к повороту этого вектора на 90 градусов против часовой стрелки, а умножение на −j приводит к повороту этого вектора на 90 градусов по часовой стрелке.

    При построении векторной диаграммы напряжений на комплексной плоскости сперва отобразим вектор тока I, после чего относительного него будем отображать вектора падений напряжений (рис. 2) с учётом приведённых выше соотношений для мнимой единицы.

    Падение напряжения на резисторе UR совпадает по направлению с током I (т.к. UR = I R, а R – чисто действительная величина или, простыми словами, нет умножения на мнимую единицу). Падение напряжения на индуктивном сопротивлении опережает вектор тока на 90° (т.к. UL = I jXL, а умножение на j приводит повороту этого вектора на 90° против часовой стрелки). Падение напряжения на ёмкостном сопротивлении отстаёт от вектора тока на 90° (т.к. UC = −I jXC, а умножение на −j приводит повороту этого вектора на 90° по часовой стрелке).


    Рис. 2. Векторная диаграмма напряжений при последовательном соединении элементов цепи

    Векторная диаграмма при параллельном соединении элементов

    Рассмотрим электрическую цепь, представленную на рис. 3, и нарисуем для неё векторную диаграмму токов. Обозначим направление токов в ветвях.


    Рис. 3. Параллельное соединение элементов цепи

    Составим уравнение для данной цепи по первому закону Кирхгофа :

    Определим по закону Ома токи в ветвях по следующим выражениям, учитывая, что 1 / j = −j:

    Для построения векторной диаграммы необходимо отобразить приведённые в уравнении слагаемые на комплексной плоскости.

    При построении векторной диаграммы токов на комплексной плоскости сперва отобразим вектор ЭДС E, после чего относительного него будем отображать вектора токов токов (рис. 4) с учётом приведённых выше соотношений для мнимой единицы.

    Ток в резисторе IR совпадает по направлению с ЭДС E (т.к. IR = E / R, а R – чисто действительная величина или, простыми словами, нет умножения на мнимую единицу). Ток в индуктивном сопротивлении отстаёт от вектора ЭДС на 90° (т.к. IL = −j ∙ E / XL, а умножение на −j приводит повороту этого вектора на 90° по часовой стрелки). Ток в ёмкостном сопротивлении опережает вектор ЭДС на 90° (т.к. IC = j ∙ E / XC, а умножение на j приводит повороту этого вектора на 90° против часовой стрелки). Результирующий вектор тока определяется после геометрического сложения всех векторов по правилу параллелограмма.


    Рис. 4. Векторная диаграмма токов при параллельном соединении элементов цепи

    Для произвольной цепи алгоритм построения векторных диаграмм аналогичен вышеизложенному с учётом протекаемых в ветвях токов и прикладываемых напряжений.

    Обращаем ваше внимание, что на сайте представлен инструмент для построения векторных диаграмм онлайн для трёхфазных цепей.

    Алгоритм создания лучевой векторной диаграммы в Excel

    Чтобы упростить наш урок, давайте предположим, что мы говорим об отношениях не между четырнадцатью как на графике, а пока только с 4-ма людьми по имени Антон, Алиса, Борис и Белла.

    Наша матрица уровня отношений и связей между ними выглядит следующим образом:

    • 0 значит отсутствие отношений;
    • 1 означает слабые отношения (например: Антон и Алиса просто знают друг друга);
    • 2 означает крепкие отношения (например, Борис и Алиса друзья).

    Как можно геометрически смоделировать визуализацию этих исходных данных? Если бы мы нарисовали отношения между этими четырьмя людьми (Антон, Алиса, Борис и Белла), это схематически выглядело бы так:

    2 критерия, которые нам нужно определить:

    1. Расположение точек (где печатаются имена людей).
    2. Линии (начальная и конечная точка соединения линий).

    Определение и построение точек

    Сначала нам нужно построить наши точки таким образом, чтобы промежуток между каждой точкой был одинаковым. Это создаст сбалансированный график.

    Какая геометрическая фигура максимально удовлетворяет нашу потребность в таких равных промежутках? Конечно же круг!

    Вы можете возразить, что на готовой модели диаграммы нет фигуры круга. Да действительно нет –вот так. Нам не нужно рисовать круг. Нам просто нужно построить точки вокруг него.

    Таким образом, у нас есть 4 заинтересованные стороны, нам нужно 4 точки:

    1. Если у нас 12 заинтересованных сторон, нам нужно 12 точек.
    2. Если у нас есть 20, нам нужно 20 точек.

    Предполагая, что источником нашего круга является (x, y), радиус – это r, а тета – 360, деленная на количество нужных нам точек. Первая точка (x1, y1) на окружности будет в этой позиции:

    • x1 = x + r * COS (тета);
    • y1 = y + r * SIN (тета).

    Как только все точки рассчитаны и подключены к XY-диаграмме (точечная диаграмма), давайте двигаться дальше.

    Построение линий на лучевой диаграмме

    Допустим, у нас в сети есть n человек. Это означает, что каждый человек может иметь максимум n -1 отношений.

    Таким образом, общее количество возможных линий на нашем графике равно n * ( n -1) / 2.

    Нам нужно разделить его на 2, как будто A знает B, тогда B тоже знает A. Но нам нужно нарисовать только 1 линию.

    Шаблон лучевой диаграммы для анализа сетевого графика настроен для работы с 20 людьми. Его можно скачать в конце статьи и использовать как готовый аналитический инструмент визуализации данных связей. Это означает, что максимальное количество строк, которое мы можем иметь, будет равно 190.

    Каждая строка требует добавления отдельной серии на график. Это означает, что нам нужно добавить 190 серий данных только для 20 человек. И это удовлетворяет только одному типу линии (пунктирная или толстая). Если нам нужны разные линии в зависимости от типа отношений, нам нужно добавить еще 190 серий.

    Это больно и смешно одновременно. К счастью, выход есть!

    Мы можем использовать гораздо меньшее количество серий и по-прежнему строить один и тот же график.

    Допустим, у нас есть 4 человека – A,B,C и D. Ради простоты, давайте предположим, что координаты этих 4-х участников следующие:

    И скажем, A имеет отношения с B, C и D.

    Это означает, что нам нужно нарисовать 3 линии, от A до B, от A до C и A до D.

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

    Это означает, что мы просто рисуем одну длинную линию от A до B, от A до C, от A до D. Договорились, что это не прямая линия, но точечные диаграммы Excel могут нарисовать любую линию, если вы предоставите ей набор координат.

    Смотрите эту иллюстрацию, чтобы понять технику:

    Таким образом, вместо 190 рядов данных для диаграммы нам просто нужно 20 рядов.

    На последнем графике мы имеем 40 + 2 + 1 ряд данных. Это потому что:

    • 20 линий для слабых отношений (пунктирные линии);
    • 20 линий для прочных отношений (толстые линии);
    • 1 строка для выделения синим цветом слабых отношений выделенного участника;
    • 1 строка для выделения зеленым цветом сильных отношений выделенного участника;
    • 1 комплект без линий, а просто точек для подписей данных на графике.

    Как сгенерировать все 20 серий данных:

    Это требует следующей логики:

  • Предполагая, что нам нужны линии для отношений человека n .
  • Точка этого человека будет ( Xn, Yn ) и уже рассчитана ранее (в точках на графике вокруг круга).
  • Нам нужно всего 40 строк данных.
  • Каждая нечетная строка будет иметь ( Xn, Yn ).
  • Для каждого четного ряда:
    • разделите номер строки на 2, чтобы получить номер человека (скажем, m );
    • ( Xn, Yn ), если нет отношений между n и m ;
    • ( Xm, Ym ), если есть отношения.

    Нам нужны формулы MOD и INDEX для выражения этой логики в Excel.

    Как только все координаты линии будут рассчитаны, добавьте их к нашему точечному графику как новые ряды используя инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления всех 43-х рядов.

    Реализовывать создание такой лучевой диаграммы связей будем в 3 этапа:

    1. Подготовка исходных данных.
    2. Обработка данных.
    3. Визуализация.

    Подготовка данных для лучевой диаграммы

    Как уже упоминалось выше данный шаблон будет обладать возможностью визуального построения связей до 20-ти участников (компаний, филиалов, контрагентов и т.п.). На листе книги шаблона «Данные» предоставленная таблица для заполнения входящих значений. Например, заполним ее для 14-ти участников рынка:

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

    С подготовкой данных мы закончили переходим к обработке.

    Как вычислить сумму векторов?

    Вектора и матрицы в электронной таблице хранятся в виде массивов.

    Известно, что сумма векторов – это вектор, координаты которого равны суммам соответствующих координат исходных векторов:

    Для вычисления суммы векторов нужно выполнить следующую последовательность действий:

    – В диапазоны ячеек одинаковой размерности ввести значения числовых элементов каждого вектора.

    – Выделить диапазон ячеек для вычисляемого результата такой же размерности, что и исходные векторы.

    – Ввести в выделенный диапазон формулу перемножения диапазонов

    – Нажать комбинацию клавиш [Ctrl] + [Shift] +[Enter].

    Даны два вектора:

    Требуется вычислить сумму этих векторов.

    – В ячейки диапазона А2:A4 введем значения координат вектора a1, а в ячейки диапазона С2:С4 – координаты вектора a2.

    – Выделим ячейки диапазона, в которых будет вычисляться результирующий вектор С ( E2:E4 ) и введем в выделенный диапазон формулу:

    – Нажмем комбинацию клавиш [Ctrl] + [Shift] +[Enter]. В ячейках диапазона E2:E4 будут вычислены соответствующие координаты результирующего вектора.

    Сложение и вычитание векторов

    Главным достоинством векторных — это возможность простого сложения и вычитания двух величин. Например: требуется сложить, два тока, заданных уравнениями

    Сложим два заданных тока i1 и i2 по известному правилу сложения векторов (рис. 12.12, а). Для этого изобразим токи в виде векторов из общего начала 0. Результирующий вектор найдем как диагональ параллелограмма, построенного на слагаемых векторах:

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

    Вектор Im, проведенный из начала первого вектора в конец последнего, представляет собой сумму всех векторов (рис. 12.12, б).

    Вычитание одного вектора из другого выполняют сложением прямого вектора (уменьшаемого) и обратного (вычитаемого) (рис. 12.13):

    При сложении синусоидальных величин в отдельных случаях можно применить аналитическое решение: применительно к рис. 12.12, а — по теореме косинусов; к рис. 12.14, а — сложение модулей векторов; б — вычитание модулей векторов, в — по теореме Пифагора.

    Лучевая векторная диаграмма для визуализации связей в Excel

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

    Как сделать лучевую векторную диаграмму связей в Excel

    Сначала взглянем на то, что мы пытаемся построить и визуально оценим объем работы. Выглядит интересно? Тогда читайте дальше, чтобы узнать, как это создать.

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

    Как видите, диаграмма содержит следующие части:

    1. Набор точек, каждая из которых представляет одну заинтересованную сторону – участники сети.
    2. Набор сероватых толстых сплошных и тонких пунктирных линий, представляющих все отношения между людьми. Сплошные – сильные связи (например, друзья), пунктирные – слабые связи (знакомые).
    3. Набор зеленых толстых и синих пунктирных линий, представляющих отношения для выбранного конкретного участника сетевой группы.
    4. Срез для выбора анализа участника – как панель управления лучевой диаграммой.
    5. Табличка со сводной статистикой выбранного человека.

    Алгоритм создания лучевой векторной диаграммы в Excel

    Чтобы упростить наш урок, давайте предположим, что мы говорим об отношениях не между четырнадцатью как на графике, а пока только с 4-ма людьми по имени Антон, Алиса, Борис и Белла.

    Наша матрица уровня отношений и связей между ними выглядит следующим образом:

    • 0 значит отсутствие отношений;
    • 1 означает слабые отношения (например: Антон и Алиса просто знают друг друга);
    • 2 означает крепкие отношения (например, Борис и Алиса друзья).

    Как можно геометрически смоделировать визуализацию этих исходных данных? Если бы мы нарисовали отношения между этими четырьмя людьми (Антон, Алиса, Борис и Белла), это схематически выглядело бы так:

    2 критерия, которые нам нужно определить:

    1. Расположение точек (где печатаются имена людей).
    2. Линии (начальная и конечная точка соединения линий).

    Определение и построение точек

    Сначала нам нужно построить наши точки таким образом, чтобы промежуток между каждой точкой был одинаковым. Это создаст сбалансированный график.

    Какая геометрическая фигура максимально удовлетворяет нашу потребность в таких равных промежутках? Конечно же круг!

    Вы можете возразить, что на готовой модели диаграммы нет фигуры круга. Да действительно нет –вот так. Нам не нужно рисовать круг. Нам просто нужно построить точки вокруг него.

    Таким образом, у нас есть 4 заинтересованные стороны, нам нужно 4 точки:

    1. Если у нас 12 заинтересованных сторон, нам нужно 12 точек.
    2. Если у нас есть 20, нам нужно 20 точек.

    Предполагая, что источником нашего круга является (x, y), радиус — это r, а тета — 360, деленная на количество нужных нам точек. Первая точка (x1, y1) на окружности будет в этой позиции:

    • x1 = x + r * COS (тета);
    • y1 = y + r * SIN (тета).

    Как только все точки рассчитаны и подключены к XY-диаграмме (точечная диаграмма), давайте двигаться дальше.

    Построение линий на лучевой диаграмме

    Допустим, у нас в сети есть n человек. Это означает, что каждый человек может иметь максимум n -1 отношений.

    Таким образом, общее количество возможных линий на нашем графике равно n * ( n -1) / 2.

    Нам нужно разделить его на 2, как будто A знает B, тогда B тоже знает A. Но нам нужно нарисовать только 1 линию.

    Шаблон лучевой диаграммы для анализа сетевого графика настроен для работы с 20 людьми. Его можно скачать в конце статьи и использовать как готовый аналитический инструмент визуализации данных связей. Это означает, что максимальное количество строк, которое мы можем иметь, будет равно 190.

    Каждая строка требует добавления отдельной серии на график. Это означает, что нам нужно добавить 190 серий данных только для 20 человек. И это удовлетворяет только одному типу линии (пунктирная или толстая). Если нам нужны разные линии в зависимости от типа отношений, нам нужно добавить еще 190 серий.

    Это больно и смешно одновременно. К счастью, выход есть!

    Мы можем использовать гораздо меньшее количество серий и по-прежнему строить один и тот же график.

    Допустим, у нас есть 4 человека – A,B,C и D. Ради простоты, давайте предположим, что координаты этих 4-х участников следующие:

    И скажем, A имеет отношения с B, C и D.

    Это означает, что нам нужно нарисовать 3 линии, от A до B, от A до C и A до D.

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

    Это означает, что мы просто рисуем одну длинную линию от A до B, от A до C, от A до D. Договорились, что это не прямая линия, но точечные диаграммы Excel могут нарисовать любую линию, если вы предоставите ей набор координат.

    Смотрите эту иллюстрацию, чтобы понять технику:

    Таким образом, вместо 190 рядов данных для диаграммы нам просто нужно 20 рядов.

    На последнем графике мы имеем 40 + 2 + 1 ряд данных. Это потому что:

    • 20 линий для слабых отношений (пунктирные линии);
    • 20 линий для прочных отношений (толстые линии);
    • 1 строка для выделения синим цветом слабых отношений выделенного участника;
    • 1 строка для выделения зеленым цветом сильных отношений выделенного участника;
    • 1 комплект без линий, а просто точек для подписей данных на графике.

    Как сгенерировать все 20 серий данных:

    Это требует следующей логики:

  • Предполагая, что нам нужны линии для отношений человека n .
  • Точка этого человека будет ( Xn, Yn ) и уже рассчитана ранее (в точках на графике вокруг круга).
  • Нам нужно всего 40 строк данных.
  • Каждая нечетная строка будет иметь ( Xn, Yn ).
  • Для каждого четного ряда:
    • разделите номер строки на 2, чтобы получить номер человека (скажем, m );
    • ( Xn, Yn ), если нет отношений между n и m ;
    • ( Xm, Ym ), если есть отношения.

    Нам нужны формулы MOD и INDEX для выражения этой логики в Excel.

    Как только все координаты линии будут рассчитаны, добавьте их к нашему точечному графику как новые ряды используя инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления всех 43-х рядов.

    Реализовывать создание такой лучевой диаграммы связей будем в 3 этапа:

    1. Подготовка исходных данных.
    2. Обработка данных.
    3. Визуализация.

    Подготовка данных для лучевой диаграммы

    Как уже упоминалось выше данный шаблон будет обладать возможностью визуального построения связей до 20-ти участников (компаний, филиалов, контрагентов и т.п.). На листе книги шаблона «Данные» предоставленная таблица для заполнения входящих значений. Например, заполним ее для 14-ти участников рынка:

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

    С подготовкой данных мы закончили переходим к обработке.

    Обработка данных для построения лучевой диаграммы

    На следующем листе с именем «Обработка» создаем сначала 2 таблицы: одна обычная, вторая умная. Обычная таблица заполнена формулами и значениями так как показано на рисунке:

    СЧЁТЗ(Данные!$B$3:$B$22);»»;ИНДЕКС(Данные!$B$3:$B$22;$B$60))’ >

    1. В ячейках B9 и B10 используются формулы массива поэтому при их вводе следует использовать комбинацию клавиш CTRL+SHIFT+Enter.
    2. Умная таблица должна быть расположена не выше 45-ой строки текущего листа Excel. Для данной таблице будет регулярно применятся фильтр, который будет скрывать часть строк листа. Нельзя допустить чтобы в эти строки попадали другие значения.

    Рядом создаем еще одну таблицу для вычисления координат на основе данных первой таблицы. Для этого используется 2 формулы для значений X и Y:

    Следующая таблица создана для построения координат линий – отношений на уровне знакомых. Таблица содержит 40 строк и 40 столбцов. Каждая пара столбов – это входящие данные для радов диаграммы. Все ячейки заполнены одной сложной формулой:

    1);ИНДЕКС($E$3:$F$22;I$2;ОСТАТ(ЧИСЛСТОЛБ($H$2:I$2);2)+1);ИНДЕКС($E$3:$F$22;ЦЕЛОЕ($H4/2)+1;ОСТАТ(ЧИСЛСТОЛБ($H$2:I$2);2)+1))’ >

    Рядом же сразу создаем аналогичным образом таблиц с координатами построения линий – отношений на уровне друзей. Все ее ячейки заполнены формулой:

    2);ИНДЕКС($E$3:$F$22;AX$2;ОСТАТ(ЧИСЛСТОЛБ($AW$2:AX$2);2)+1);ИНДЕКС($E$3:$F$22;ЦЕЛОЕ($H4/2)+1;ОСТАТ(ЧИСЛСТОЛБ($AW$2:AX$2);2)+1))’ >

    Эти две таблицы будут использованы для построения серых линий. А теперь создадим еще одну таблицу для построения синих и зеленых линий для выделенного участника:

    В каждом столбце этой таблицы используются разные формулы:

    Столбец листа CM (X-синяя):

    Все с обработкой закончили! У нас есть все координаты для точек и линий. Осталось только построить лучевую диаграмму визуализировав таким образом входящие значения на листе «Данные».

    Визуализация данных связей участников на лучевой диаграмме

    Начнем сначала с построения серых пунктирных линий для отображения всех слабых связей между участниками. А потом сделаем те же самые действия для серых сплошных линий сильных связей. Выделите диапазон ячеек I3:J43 и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Точечная с прямыми отрезками».

    Из диаграммы следует удалить: сетку, оси координат, название и легенду.

    Затем из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Выбрать данные» в окне «Выбор источника данных» используйте кнопку «Добавить» для добавления остальных 20-ти рядов:

    Для каждой линии нужно присвоить один и тот же формат. Удобно выбирать ряды линий из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«ФОРМАТ»-«Текущий фрагмент». Из выпадающего списка выбираем необходимый нам ряд, а ниже жмем кнопку «Формат выделенного» чтобы приступить к форматированию:

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

    Не забудем изменить цвета линий на зеленый и синий – соответственно.

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

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

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

    Для создания панели управления будем использовать обычный срез для уже созданной умной таблицы. Перейдите на любую ячейку умной таблице на листе «Обработка» и выберите инструмент: «ВСТАВКА»-«Фильтры»-«Срез». В паявшемся окне укажите галочкой только на опцию «Имя».

    Копируем срез и лучевую диаграмму на отельный лист «ГРАФИК» и наслаждаемся готовым результатом:

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

    Источник

  • Понравилась статья? Поделить с друзьями:
  • Вычислить в excel предельные расходы на рекламу принимаемые при налогообложении если
  • Вычислить разницу в годах в excel
  • Вычислить в excel если значение равно то
  • Вычислить пустую ячейку excel
  • Вычислить 10 элементов ряда определяемого рекуррентной формулой excel