一直试图解决这个问题,但一直有问题,并怀疑有任何简单的方法可以做到这一点。所以说我有一些常量向量,例如:
[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
等...
谢谢!
答案 0 :(得分: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
# ...
答案 1 :(得分:0)
您应该查看整数编程部分中的CRAN任务视图。