Точка продукта между векторами строк по MMULT не работает в Excel - PullRequest
8 голосов
/ 24 сентября 2011

Я использую Excel для создания некоторого точечного произведения между двумя векторными строками:

=MMULT(B1049:M1049, TRANSPOSE(B1050:M1050))

Но это не работает, поскольку ячейка для формулы показывает "#VALUE!".Интересно, почему?Спасибо!

Обратите внимание, что все ячейки в "B1049: M1049" и "B1050: M1050" являются числами.

PS: Этот вопрос больше подходит здесь или Superuser?

Ответы [ 2 ]

14 голосов
/ 24 сентября 2011

вероятно, проще, вы можете просто использовать = SUMPRODUCT (vec1, vec2). Это как раз евклидово внутреннее произведение, не прибегая к формулам массива.

8 голосов
/ 24 сентября 2011

вам нужно ввести MMULT как формулу массива , а не как стандартную формулу

, вместо того, чтобы нажимать клавишу ввода, когда вы вводите формулу в pres ctrl-shift-enter и excelбудет вводить его как массив

, в итоге он будет выглядеть как
{=MMULT(B1049:M1049, TRANSPOSE(B1050:M1050))}

(обратите внимание, что вы не можете ввести {} вручную)

ВыВозможно, вы захотите взглянуть на справку Excel, которая охватывает этот вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...