【问题标题】:Solving System of Linear Equations R - Verification线性方程组 R 的求解系统 - 验证
【发布时间】:2017-04-15 21:10:12
【问题描述】:

所以我设法在 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 的值来证明我的解决方案是正确的。显然,这很容易通过使用矩阵运算的一行代码完成。谁能帮我吗?提前致谢。

【问题讨论】:

  • 您可以将系数矩阵 A 乘以解 solve(A, b),这应该会给您 b: all( A %*% solve(A, b) == b )

标签: r matrix linear-programming


【解决方案1】:

您给出的方程式带有一个实际上是破折号的减号,但在纠正该错误后,我们可以转换这些方程式并评估解决方案。在这种情况下,结果是准确的,但在大多数其他情况下,您可能希望使用 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(substitute(x‚”) 中出现意外输入

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    相关资源
    最近更新 更多