0

我正在尝试解决 CVXR 中的以下问题。这里 y 是一个 n × m 矩阵,x 是 n × G × m,b 是 m × G。

b<- Variable(m,G)
b_transpose <- t(b)

expr<-sapply(1:m, function(i) x[,,i] %*% b_transpose[,i])

obj<- sum_squares(y-expr)
prob<- Problem(Minimize(obj))

我收到以下错误:y - expr 中的错误:二进制运算符的非数字参数。

我相信我没有以exprCVXR 期望的方式传递 n x m 矩阵。任何帮助将不胜感激。谢谢!

4

1 回答 1

0

我相信,这行得通。

expr<-lapply(1:m, function(i) sum_squares(y[,i]-x[,,i] %*% b_transpose[,i]))
exp<-Reduce(f = '+', x = expr)
obj<- exp
prob<- Problem(Minimize(obj))
于 2020-01-30T16:49:59.210 回答