线性方程R - 验证的求解系统

时间:2017-04-15 21:10:12

标签: r matrix linear-programming

所以我设法在R:

中解决了这个线性方程组
  

x-y + z = 1,x + y-z = 1且x + y + z = 3

我的代码如下:

A <- matrix(data=c(1, -1, 1, 1, 1, -1, 1, 1, 1), nrow=3, ncol=3, byrow=TRUE) 

b <- matrix(data=c(1, 1, 3), nrow=3, ncol=1, byrow=FALSE)

round(solve(A, b), 3)

但是,我需要通过替换x,y和z的值来证明我的解决方案是正确的。显然,使用矩阵运算可以轻松完成一行代码。谁能帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

你给方程式带有一个实际上是破折号的减号,但在纠正了这个错误后,我们可以转换这些方程并评估解决方案。在这种情况下,结果是准确的,但在大多数其他情况下,您可能希望使用all.equal来强制转换测试。

eval( substitute( x-y+z==1 && x+y-z==1 && x+y+z==3, list(x=1,y=1,z=1) ) )
[1] TRUE

在承认“ - ”与“ - ”不一致之前,我得到了:

  

错误:“eval中的意外输入(替换(x,”