Упрощение матричного произведения с одной неизвестной переменной - PullRequest
0 голосов
/ 12 октября 2018

Я должен вычислить произведение 3 матриц D=ABC с:

  • A - матрица (1x3),
  • B - матрица (3x3),
  • C - матрица (3x1) (и равна A ', если это имеет значение)

Результат этого продукта является простым значением, и вычисление очень просто в R.

Моя проблема в том, что есть один неизвестный, а именно X, внутри A и C, и я хотел бы получить результат в виде формулы: D = ABD = f(X).

Есть ли способ, которым я мог бы добиться этого с R?

1 Ответ

0 голосов
/ 12 октября 2018

Определите D, как показано ниже, где аргумент B - это квадратная матрица, а A - это функция x, возвращающая вектор.

D <- function(B, A) function(x) t(A(x)) %*% B %*% A(x)

# test
A <- function(x) seq(3) * x
B <- matrix(1:9, 3)
Dfun <- D(B, A)
Dfun(10)
## [1] 22800
...