0

我有两个代理商,分销商和供应商。这些海龟中的每一个都有许多变量,其中一些被定义为全局变量,以便能够分配给另一种类型的代理。问题是我正在尝试使用它的一些变量为分销商求解方程组,如下所示:(销售额和系数是分销商的一些变量,每次运行都会发生变化)DCoeffiecients = 矩阵 A,销售额 = 矩阵 C,和我正在寻找未知数 = 矩阵 B(我在过程中调用的所有变量都是全局定义的)

sales = DCoefficients * Unknowns

我使用“矩阵扩展”来解决它,但我遇到了这个错误“期望一个文字值”,因为我有变量而不是一些常数!

to Solve-quantity
ask distributers[
let A matrix:from-row-list [[Prod1coeff1 Prod1coeff2 Prod1coeff3 prod1coeff4] [[Prod2coeff1 Prod2coeff2 Prod2coeff3 prod2coeff4][Prod3coeff1 Prod3coeff2 Prod3coeff3 prod3coeff4][Prod4coeff1 Prod4coeff2 Prod4coeff3 prod4coeff4]  ] 
let C matrix:from-row-list [[S1] [S2] [S3] [S4]]
print matrix:solve A C
]end

如何修复此错误并将变量分配给矩阵?谢谢

4

1 回答 1

0

这是您需要使用list原语执行的操作的简短示例。请注意,我已经在一行中完成了它,然后分开了。

extensions [matrix]

to go
  let Prod1coeff1 1
  let Prod1coeff2 2
  let prod2coeff1 3
  let prod2coeff2 4

  let A matrix:from-row-list (list (list Prod1coeff1 Prod1coeff2) (list Prod2coeff1 Prod2coeff2))
  show A

  let row1 (list Prod1coeff1 Prod1coeff2)
  let row2 (list Prod2coeff1 Prod2coeff2)
  let list-of-rows (list row1 row2)
  let B matrix:from-row-list list-of-rows
  show B

end

还要注意,list如果列表包含两个以上的元素,我会在原语周围加上括号,因为您将需要它们。

HTH,查尔斯

于 2017-02-05T18:05:17.547 回答