0

一直试图解决这个问题,但遇到问题并怀疑有任何简单的方法可以做到这一点。所以说我有一些常量向量,例如:

[1] -2 -3  1

现在假设我想定义 -2*x -3*y + 1*z = -5 并找到 x、y 和 z 的每个不同组合,其中 x、y 和 z 是整数,abs(x)、abs( y) 和 abs(z) 都小于或等于 5。所以输出看起来像这样。

2, 0, -1
1, 1, 0
1, 0, -2
0, 0, -5

ETC...

谢谢!

4

2 回答 2

2

如果问题与您的示例一样小,您可以使用以下命令:

combs <- as.matrix(expand.grid(-5:5,-5:5,-5:5))    
combs[combs %*% c(-2,-3,1) == -5,]
#      Var1 Var2 Var3
# [1,]    3   -2   -5
# [2,]    0    0   -5
# [3,]   -3    2   -5
# [4,]    5   -3   -4
# [5,]    2   -1   -4
# ...
于 2013-04-29T17:26:14.477 回答
0

您应该查看整数编程部分中的 CRAN 任务视图。

于 2013-04-29T17:19:20.467 回答